如何解决java.lang.NoClassDefFoundError错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何解决java.lang.NoClassDefFoundError错误相关的知识,希望对你有一定的参考价值。

NoClassDefFoundError错误的发生,是因为Java虚拟机在编译时能找到合适的类,而在运行时不能找到合适的类导致的错误。也就是说;,NoClassDefFoundError发生在编译时对应的类可用,而运行时在Java的classpath路径中,对应的类不可用导致的错误。解决方法要根据实际情况来判定,错误原因有以下几种:1)当发生由于缺少jar文件,或者jar文件没有添加到classpath,或者jar的文件名发生变更会导致java.lang.NoClassDefFoundError的错误。2)当类不在classpath中时,这种情况很难确切的知道,但如果在程序中打印出System.getproperty(“java.classpath”),可以得到程序实际运行的classpath运行时明确指定你认为程序能正常运行的-classpath参数,如果增加之后程序能正常运行,说明原来程序的classpath被其他人覆盖了。3)NoClassDefFoundError也可能由于类的静态初始化模块错误导致,当你的类执行一些静态初始化模块操作,如果初始化模块抛出异常,哪些依赖这个类的其他类会抛出NoClassDefFoundError的错误 参考技术A 检查CLASSPATH、和正确的import~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 参考技术B 类找不到异常、 看看是不是有这个类 如果有的话 重新编译试试

以上是关于如何解决java.lang.NoClassDefFoundError错误的主要内容,如果未能解决你的问题,请参考以下文章

如何解决 Ajax 跨域请求不到的问题

如何解决包冲突问题

如何解决包冲突问题

如何解决ajax跨域问题

MySQL 的 10048问题,如何解决?

如何解决smartgit的冲突问题