很久都是用eclipse来写java程序
今天看core java,做上面的练习,居然welcome都出java.lang.NoClassDefFoundError这样的错误
找了半天才发现是新系统,没有设置classpath

设置了居然还是不行

C:\Program Files\Java\JDK1.5\lib;C:\Program Files\Java\JDK1.5\lib\tools.jar

都是长时间不练习的原因~~~
应该在前面加   .;

.;C:\Program Files\Java\JDK1.5\lib;C:\Program Files\Java\JDK1.5\lib\tools.jar

少了 < .; > 就造成巨大的差别
在沒有做任何设定之下 , 预设的CLASSPATH就是一个 .
这个 . 代表 命令提示字元的当前目录
没设定比设定错误还要好一点(对新手而言) , 只要 .class 在当前目录 , 还是可以执行程序的

但是你若下了设定
SET CLASSPATH=C:"j2sdk1.4.1_03"lib;C:"j2sdk1.4.1_03"lib"tools.jar;
少了这个. 若你当前的目录却不是 C:"j2sdk1.4.1_03"lib , 就會发生NoClassDefFoundError

正確的設定
SET CLASSPATH=.;C:"j2sdk1.4.1_03"lib;C:"j2sdk1.4.1_03"lib"tools.jar;
表示當前的目錄 , C:"j2sdk1.4.1_03"lib" , 以及 tools.jar 內的class都可以載入



Feedback

# core java书里明确说W是大写阿。。。  回复  更多评论   

2008-12-01 23:21 by xieoy
core java书里明确说W是大写阿。。。

javac Welcome.java
java Welcome

这两个W都必须大写吧,,

# core java书里明确说W是大写阿。。。  回复  更多评论   

2008-12-01 23:23 by xieoy
这两个W都大写了

就不会出现java.lang.NoClassDefFoundError的错误。。

# re: java.lang.NoClassDefFoundError与classpath设置[未登录]  回复  更多评论   

2009-06-25 13:51 by tom
你缺了类包啦。。
给你一个JAVA类包搜索引擎,搜一下就知道
http://www.jar114.com

# re: java.lang.NoClassDefFoundError与classpath设置  回复  更多评论   

2012-08-13 21:39 by weny
如果你习惯了eclipse。那么你肯定加了 package.
要么你把这句删掉。
要么就加个包在顶层。

只有注册用户登录后才能发表评论。


网站导航:
 

posts - 103, comments - 104, trackbacks - 0, articles - 5

Copyright © Robert Su