提交 fbfdaef4 编写于 作者: K Kohsuke Kawaguchi

made to work with JBoss6

上级 0e3c2456
......@@ -81,6 +81,8 @@ Upcoming changes</a>
<li class=bug>
Rebuilding dependency graph was taking much too long for big maven projects
(<a href="http://issues.jenkins-ci.org/browse/JENKINS-7535">issue 7535</a>)
<li class=bug>
Maven builds didn't work in JBoss 6.
<li class=rfe>
Ping setup for detecting bad master/slave communication is done more consistently now
(<a href="http://issues.jenkins-ci.org/browse/JENKINS-8990">issue 8990</a>)
......
......@@ -28,6 +28,7 @@ import java.io.File;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.io.InputStream;
import java.lang.reflect.InvocationTargetException;
import java.net.URL;
import java.net.MalformedURLException;
import java.net.URLConnection;
......@@ -130,7 +131,29 @@ public class Which {
} finally {
is.close();
}
}
if(resURL.startsWith("vfs:")) {
// JBoss6
String dotdot="";
for (int i=clazz.getName().split("\\.").length; i>1; i--)
dotdot+="../";
try {
URL jar = new URL(res,dotdot);
String path = jar.getPath();
if (path.endsWith("/")) path=path.substring(0,path.length()-1);
// obtain the file name portion
String fileName = path.substring(path.lastIndexOf('/')+1);
Object vfs = new URL(jar,"..").getContent(); // a VirtualFile object pointing to the parent of the jar
File dir = (File)vfs.getClass().getMethod("getPhysicalFile").invoke(vfs);
File jarFile = new File(dir,fileName);
if (jarFile.exists()) return jarFile;
} catch (Exception e) {
LOGGER.log(Level.FINE, "Failed to resolve vfs file into a location",e);
}
}
URLConnection con = res.openConnection();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册