问一个初级问题,不准笑(50分)

  • 主题发起人 主题发起人 小天
  • 开始时间 开始时间

小天

Unregistered / Unconfirmed
GUEST, unregistred user!
当我使用java解释器时,为什么总是提示
Exception in thread "main" java.lang.NoClassDefFoundError:XXXX
为什么呢?如何解决呢?
 
似乎是在main里面用了一个没有定义的类
如果是自己写的类, 需要事先声明一下的.
 
找不到这个类。
路径不对,或者是你的名字大小写的问题。
 
你少了一个类,如果是你自己写的,你要把它放到你现在主类的包中,如果是系统的类,你
要看看你的类是否引用了系统包。
 
检查路径
 
哈哈哈。。。
我連一句Java都沒寫過:)
誰知道上哪找JBuilder的資料?
 
文件名和public的类名相同,classpath里加入 ,;
 
程序:test.java
class test{
public static void main(String args[]) {
System.out.println("Hello!");
}}
编译:javac test.java ----成功
运行:java test 出错:
Exception in thread "main" java.lang.NoClassDefFoundError: test
呜哇~~~~~~~~~~~~~~~~呜哇~~~~~~~~~~~~~~~~~
 
设置AOTOEXEC。BAT:
1.添加:SET JAVA_HOME=D:/JDK1.3;
2.在CLASSPATH中,添上:d:/jdk1.3/lib;
如果你的JDK放在其他路径,请相应修改。
 
路径我肯定设置正确的,编译都成功了嘛
 
你用的JDK的版本,
记着要在配置文件中设定classpath
classpath=%classpath%;d:/jdk1.2.2/lib/;d:/jdk1.2.2/jre/lib/
 
1。class没有public
2。编译成功不等于路径没问题
 
我完全按上面的方式设过,还是不行,呜~~~~~~~~~~~~~~~~~~
我用的是jdk1.3
是不是版本的问题?
 
<font color="#FF0000">public</font> class test
{
//....
}
运行:
java -cp . test
 
你到一个集成化环境中试一试,有时侯命令行中就是会出现这种莫名其妙的问题。
 
集成环境太大了,我的机器跑不动
:((((((
 
我也有遇到这个问题.
用JJames_King的方法可以,不修改源码,只是运行时用:java -cp . test
为什么这样呢?我把当前路径加到classpath还是不行.
我是菜鸟,不懂的说:(
BTW:小天你看见我在你主页上的留言没有?不愿意加我吗?OICQ:1413693
 
多人接受答案了。
 
还有一个方法。
最好不要在CLASSPATH里添加写程序的临时目录,除非这个程序是产品在用。
每次运行 java 程序名(一个扩展名为 .class 的文件 )前,键入命令:
set CLASSPATH= 回车
之后,每次运行程序只需键入 java 程序名就可以。(当然,如果退出DOS,再进入,
则也要再键入set CLASSPATH= 回车 , 不过,每次只运行一次该命令即可,
这也是SUN公司的推荐做法。)
原因:如果不加程序的路径,则会到CLASSPATH中找,如果没有当前目录,就会报
所提问题的错误,如果在CLASSPATH中添加当前目录,则程序在其它目录时又要添加,
用set CLASSPATH=临时清掉类目录,则java会在当前目录找程序。这样就免了每次
运行程序时在java后加当前路径或-cp参数。
 
后退
顶部