我正在运行一个应用程序,我正在读取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
类。
有人可以帮忙吗?