我在下面的路徑中有一個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