使用ClassLoader时出现以下错误:java.lang.NoClassDefFoundError

时间:2022-11-20 19:38:44

在用到 ClassLoader加载资源的时候,经常会出现以下错误:

Exception in thread "main" java.lang.NoClassDefFoundError: com/tools/Result
        at java.lang.Class.getDeclaredConstructors0(Native Method)
        at java.lang.Class.privateGetDeclaredConstructors(Class.java:2328)
        at java.lang.Class.getConstructor0(Class.java:2640)
        at java.lang.Class.newInstance0(Class.java:321)
        at java.lang.Class.newInstance(Class.java:303)
        at com.npower.dm.tools.backup.Startup.main(Startup.java:78)

解决方法:

不要在同包内加无用的类

打包的时候,只要打Startup.java即可,不用打其它的类,

ClassLoader会自己去找,找到后加载

如果打包了,ClassLoader也加载了,那就重复了,所以就出现上面的情况.

 

自己发现说的可能不太清楚,发现描述一个事件也是很有学问的,以后再加强!