从未从URLClassloader加载的依赖jar类

时间:2015-10-29 07:43:48

标签: java jar classloader urlclassloader contextclassloader

我正在运行一个应用程序,我正在读取JAR文件列表并使用URLClassLoader加载每个jar但是从一个JAR加载Class时,它指的是来自不同JAR的另一个类我是获得NoClassDefError

String jbossConfigPath = System.getProperty("jboss.server.config.dir");
String jarPath = jbossConfigPath + "/somepath";
File file = new File(jarPath);
String [] jars = file.list();
URL[] jarURLs  = new URL [jars.length];
int i=0;
for(String jar : jars){
    File fileJar = new File(file,jar);
    jarURLs[i] = fileJar.toURI().toURL();
    i++;
}
URLClassLoader cl = URLClassLoader.newInstance(jarURLs,Thread.currentThread().getContextClassLoader());
Class<?> cls = ul.loadClass("com.some.class.Demo");

我在加载NoClassDefError类时总是得到Demo,因为它指的是不同JAR中的Demo2类。

有人可以帮忙吗?

0 个答案:

没有答案