1

我有一个应用程序正在运行,我正在读取 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 中的类。

有人可以帮忙吗?

4

0 回答 0