我有一个应用程序正在运行,我正在读取 JAR 文件列表并使用加载每个 jar,URLClassLoader
但同时Class
从一个 JAR 加载一个 JAR 引用来自不同 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
类时得到,因为它指的是Demo2
不同 JAR 中的类。
有人可以帮忙吗?