我在下面的路径中有一个TEST123.class。Got NoClassDefFoundError:错误的Windows路径名称
d:/用户/ XXX /桌面/ SEM-材料工作/ SEM-材料工作/ SEM-材料freemarkerjob /目标/班/ COM /携程网/市场/ SEM/freemarkerjob/dynamicjava/
然后我运行下面的try子句来加载由URLClassLoader的类,但它给我的异常ava.lang.NoClassDefFoundError:TEST123(错误的名称:,如何解决异常
ava.lang.NoClassDefFoundError: TEST123 (wrong name: com/ctrip/market/sem/freemarkerjob/dynamicjava/TEST123)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
try {
URLClassLoader mycl = new URLClassLoader(new URL[] { new URL(
"file:///D:/Users/XXX/Desktop/sem-material-job/sem-material-job/sem-material-freemarkerjob/target/classes/com/ctrip/market/sem/freemarkerjob/dynamicjava/") });
Class c2 = mycl.loadClass("TEST123");
} catch (Exception e) {
e.printStackTrace();
}
好像有Java类coflict。类URLClassLoader有两个或两个以上的实现。请检查可能有两个实现在不同的罐子。 –
URLClassLoader来自包java.net.URLClassLoader;所以应该有一个实现。从错误消息“NoClassDefFoundError:TEST123(错误的名称:”,似乎我指定的路径是错误的,但我不知道如何解决它。 – Jason
addurl upto目标/类和使用全限定类名称加载类 – hunter