diff --git a/remoting/src/main/java/hudson/remoting/Launcher.java b/remoting/src/main/java/hudson/remoting/Launcher.java index fe14efc3f57f03aa7c6ae30c7f1bb77962f24f39..d8e92672edd59b2c3dd4cdddab606fbeab5676f0 100644 --- a/remoting/src/main/java/hudson/remoting/Launcher.java +++ b/remoting/src/main/java/hudson/remoting/Launcher.java @@ -105,8 +105,15 @@ public class Launcher { Method $addURL = URLClassLoader.class.getDeclaredMethod("addURL", URL.class); $addURL.setAccessible(true); - for(String token : args[++i].split(File.pathSeparator)) + String pathList = args[++i]; + for(String token : pathList.split(File.pathSeparator)) $addURL.invoke(ClassLoader.getSystemClassLoader(),new File(token).toURI().toURL()); + + // fix up the system.class.path to pretend that those jar files + // are given through CLASSPATH or something. + // some tools like JAX-WS RI and Hadoop relies on this. + System.setProperty("java.class.path",System.getProperty("java.class.path")+File.pathSeparatorChar+pathList); + continue; } if(arg.equals("-tcp")) {