Java运行错误:Exception in thread "main" java.lang.NoClassDefFoundError

来源:互联网 发布:2017网络热词我好方 编辑:程序博客网 时间:2024/06/10 04:54

问题发现:一直都在Eclipse中运行程序,没什么问题。今天有个小测试程序在命令行执行,javac test.java后生成test.class字节码文件没有问题,但是java test时报出Exception in thread "main" java.lang.NoClassDefFoundError错误。(注意不是java test.class,java test.class肯定不正确,也报出次错误)

解决过程:

      1,命令行javac,java,java -version提示内容正常 ,说明环境变量配置没问题(网上很多文章说环境变量配置有问题,容易被误导)。

      2,查看现在用的JDK版本和编译文件的JDK版本是否一致。点开始->运行-->cmd,然后输入 javac -version看编译器的版本,输入java -version看执行时的版本,发现版本一致,排除这个问题(版本不一致也会报出找不到类的错误)。

最终解决:

      还是环境变量配置问题,重新查看classpath和path的路径设置,上述第一条说明配置没有错误,但是没有起作用。

原先的设置是:

“在classpath路径后面加入 :C:\Program Files\Java\jdk1.6.0_10\jre\lib\rt.jar;.;

在path路径后面加入:C:\Program Files\Java\jdk1.6.0_10\bin” 

应该是这个样子:classpath中把“.”放在最前面,即:.;C:\Program Files\Java\jdk1.6.0_10\jre\lib\rt.jar;

 在path路径的最前面加入:C:\Program Files\Java\jdk1.6.0_10\bin(我恰恰把它放在了最后。。晕。)

原因:当你输入某个命令时,系统会在classpath,path中从前往后进行查找,一旦找到就不再继续往下查找。所以你在后面设置的路径,一旦在前面找到了根本就不会跑的你预想的路径下。


0 0
原创粉丝点击