NoClassDefFoundError是啥

Posted

tags:

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

“No Class Def Found Error“的意思是”找不到类“,是指编译通过运行不行的话可能是环境变量里的classpath(JAVA游戏程序的路径)设置不正确。

两种解决办法:

1.把package语句去掉,让编译文件处于当前文件夹,例如我将java文件的package去掉,放在D盘根目录;

2.不去掉package,在java文件同级目录加一个package相同名称的文件夹,HelloWorld.java在src的j2se001文件夹下,j2se001下建一个同package名称的文件夹;

或者下面这种,与上面实质是一样的,只是在哪个目录执行java类文件(还是在java类文件同级目录建一个同package名称相同的文件夹);

删package或者加package同名folder的实质:执行器指向package文件夹。

参考技术A “没有找到这样的类”错误
表面上看是类的名称错误,其实更有可能是classpath环境变量没有配置好。

建议复查类的名称包括大小写,如果有包的情况下,注意类文件放的位置。
环境变量classpath配置中有没有小数点“.”,有没有java默认类库的位置,有没有你自己的类文件顶层目录等。
参考技术B 这个是初始化类出现了错误。这个错一般有3种原因:1.引用了不同版本重复的jar包。2.import 的类中初始化出错。3.被引用的类没有加到war包中。 参考技术C 并非环境变量的问题,我也遇到了

public class Q1
public static void main(String args[])
try
throw new MyException();
catch(Exception e)
System.out.println("It's caught!");

finally
System.out.println("It's finally caught!");



class MyException extends Exception

参考技术D 这些异常,API里面都有详细解释的,直接查API就行

以上是关于NoClassDefFoundError是啥的主要内容,如果未能解决你的问题,请参考以下文章

Java理解ClassNotFoundException与NoClassDefFoundError的区别

怎么解决java.lang.NoClassDefFoundError错误

NoClassDefFoundError是啥

你好,Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: 这个问题是啥原因呀

SSM整合时初始化出现异常

实现 QThread 的正确方法是啥...(请举例...)