【转】怎么解决java.lang.NoClassDefFoundError错误 ,以及类的加载机制 (3)

有时候会出现Exception in thread “main” java.lang.NoClassDefFoundError: com/sun/tools/javac/Main 这样的错误,这个错误说明你的Classpath, PATH 或者 JAVA_HOME没有安装配置正确或者JDK的安装不正确。这个问题的解决办法时重新安装你的JDK。

Java在执行linking操作的时候,也可能导致NoClassDefFoundError。例如在前面的脚本中,如果在编译完成之后,我们删除User的编译文件,再运行程序,这个时候你就会直接得到NoClassDefFoundError,而错误的消息只打印出User类的名称。

java.lang.NoClassDefFoundError: testing/User at testing.NoClassDefFoundErrorDueToStaticInitFailure.main(NoClassDefFoundErrorDueToStaticInitFailure.java:23)

1

2

现在我们知道要怎样去面对NoClassDefFoundError异常并解决它了。

参考文章:

how classpath work in java

3 ways to solve java.lang.NoClassDefFoundError in Java J2EE

When a class is loaded and initialized in JVM

类加载器的工作原理

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwxdjp.html