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

问题发现:一直都在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中从前往后进行查找,一旦找到就不再继续往下查找。所以你在后面设置的路径,一旦在前面找到了根本就不会跑的你预想的路径下。


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Exception in thread "main" java.lang.NoClassDefFoundError: concept/person (wrong name: concept/Person)是由于类名与方法名的大小写问题导致的。在Windows系统中,编译器在编译过程中不严格区分大小写,因此只编译出了一个类person,并生成了class person。而在代码中,却使用了类名Person来创建对象,导致找不到或无法加载主类concept.Person,从而出现错误提示。\[1\] 在Linux中调用执行jar包时,由于没有配置环境变量,程序不知道去哪里寻找这些类文件,所以出现了以上错误。在Eclipse中执行正确是因为配置了工程的环境,通过build path已经将所需的类文件以jar包的形式添加到工程中。\[2\]\[3\] #### 引用[.reference_title] - *1* [出现报错:Exception in thread "main" java.lang.NoClassDefFoundError](https://blog.csdn.net/weixin_45794474/article/details/103231562)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [执行jar包出错:Exception in thread "main" java.lang.NoClassDefFoundError](https://blog.csdn.net/g1269420003/article/details/81630031)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值