public boolean invokeWsimport(URL[] jars, OutputStream os, String[] arguments) throws Exception {
return invoke("wsimport", jars, os, arguments);
}
private boolean invoke(String toolName, URL[] jars, OutputStream os, String[] arguments) throws Exception {
JarFileClassLoader loader = new JarFileClassLoader(null, jars, ClassLoader.getSystemClassLoader());
if (this.overrideContextClassLoader) {
ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader();
Thread.currentThread().setContextClassLoader(loader);
try {
return invoke(toolName, loader, os, arguments);
} finally {
Thread.currentThread().setContextClassLoader(oldClassLoader);
loader.destroy();
}
} else {
try {
return invoke(toolName, loader, os, arguments);
} finally {
loader.destroy();
}
}
}