A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

Exception in thread "main" java.lang.NoClassDefFoundError: HelloJava


刚开始还是能用的 然后前阵子重做了笔记本系统 设置完了环境变量还是出现这个问题。
JDK装在F盘 F:\Program Files\Java\jdk1.6.0_10
path变量为F:\Program Files\Java\jdk1.6.0_10\lib;F:\Program Files\Java\jdk1.6.0_10\bin;
calsspath变量为F:\Program Files\Java\jdk1.6.0_10\lib\dt.jar;F:\Program Files\Java\jdk1.6.0_10\lib\tools.jar;
这都好几天了 一直没找到原因所在 程序在Eclpse中可以运行 但在dos环境中就出这个错误 现在编写简单的小程序都在用Eclipse...囧


评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 加油····

查看全部评分

7 个回复

倒序浏览
calsspath直接一个点就行了吧,表示当前目录,默认也是表示当前目录,所以一般不用设置都可以,只是在命令行运行的时候要转到当前目录执行。建议看毕老师的day01_08,讲的很详细

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
本帖最后由 谢述华 于 2012-5-17 08:50 编辑

path定义错误 不会出现Exception in thread "main" java.lang.NoClassDefFoundError: HelloJava错误
一般只会出现不是内部或外部命令错误。如图所示。
你是classpath设置错误,classpath值应该设置你写的class文件所在目录,而不是jar包。
解决办法1、设置正确classpath=d:\java;.    // 从系统设置,命令行设置的classpath只能在当前命令行使用,d:\java是我的java程序存放位置,.代表当前目录为缺省值。
另:一般我只是自己测试都是使用默认当前目录。
2、cmd进入java文件后,再进行javac命令
希望可以帮到你~~,有什么不懂得还可以问我。下面的链接是我自己整理的,可以参考下。
http://xieshuhua.blog.163.com/blog/static/351948652012413105727673/

20.jpg (9.83 KB, 下载次数: 21)

path路径错误

path路径错误

12.png (904 Bytes, 下载次数: 22)

设置classpath

设置classpath

11.png (2.65 KB, 下载次数: 35)

cmd进入当前目录

cmd进入当前目录

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 赞一个!

查看全部评分

回复 使用道具 举报
的确是classpath环境变量配置的问题 删除之后就可以运行了..我自己看的一本参考资料 是要求把classpath变量配置成这样的 但是这样之后就算是java文件和编译后的class文件位于同一目录下也是会出现这种错误。
回复 使用道具 举报
classpath设置问题,classpath配置的位置应该是你的class编译后文件的地址不是你的jar包的地址,还有classpath配置的路径后面最好不好加;,加了;符号的话在classpath没有,在当前的目录还要继续查找。这个问题在毕向东的Java基础,环境变量配置里面有讲解。{:soso_e100:}
回复 使用道具 举报
问题应该是classpath造成的,我曾经也遇到过这种问题。
    就是在path环境变量设置好时,没有问题,jdk也没有问题时,
这时,你最好不要去设置classpath,如果设置了,你把清空,具体操作就是在dos命令行中输入:set classpath=
这样就把classpath给清空了。然后,你就把当前路径切换到你要执行java文件的路径下,
这时,在用javac 和java 命令编译,运行你的程序,就应该没有问题了。{:soso_e100:}
回复 使用道具 举报
楼主你的电脑好像把这个变量路径删除了,C:\Windows\System32,加上这个看看。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马