手机剪贴版:运行java的class文件时出错!

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/28 23:52:37
现有如下文件
public class Test2 {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("hello world!");
}

}

可以正常编译但是在使用
java Test2
运行时出现如下错误!
Exception in thread "main" java.lang.NoClassDefFoundError: Test2

请问是什么原因?
类名和文件名是一样的
环境变量中的
classpath设置如下
D:\Program Files\Java\j2sdk1.5.0\lib\dt.jar;D:\Program Files\Java\j2sdk1.5.0\lib\tools.jar;D:\Program Files\Java\j2sdk1.5.0\lib\mysql-connector-java-3.1.12-bin.jar;C:\Program Files\Java\j2re1.5.0\lib\ext\QTJava.zip

path设置如下

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Common Files\Adobe\AGL;D:\Program Files\Java\j2sdk1.5.0\bin;C:\Program Files\MySQL\MySQL Server 5.0\bin;D:\Program Files\Ringz Studio\Storm Codec\QTSystem\;F:\mysql-connector-java-3.1.12

在Eclipse中可以正常运行

在classpath的里最前面加上 “.;”

(一个点和分号)

没有加上这个点和分号java.exe是不会在当前文件夹下找Test2.class这个文件的。

在Eclipse里面运行与你在操作系统的环境变量设置是没有关系的。

楼下的,你的说法是没错。不过不要认为你的方法是唯一的。而且你的方法只是一个笨办法。 我知道有这个参数,但是这个参数不是一定要用的。如果是在系统变量里面出现过的classpath 就不用特别指定了。真正用java的人谁会每一次都加上这个参数?

这个异常的意思就是
类没有定义
说明你的文件名和类名有冲突
好好看看
或者把类名和文件名都重新换一次

一楼到五楼都是胡扯
楼主的运行方式对了不过就是没有仔细看java这个命令的使用帮助,在命令行下面敲java然后回车就会看到使用帮助,其中java -classpath 这个参数楼主仔细看看他的定义
这里的classpath楼主没有写,那个jre去那里寻找你的Test2这个类呢?要使用java -classpath xxx Test2就可以成功运行了xxx是你.class的存放文件夹,使用相对路径来表示最好

类没有找到. 把名件名也改成"Test2.JAVA"重新编译.
楼主要学JAVA路还很长.这种问题自己能解决的.多看看书.

就像楼上的说得一样哈
下次要仔细点儿了哟!!

文件名必须是Test2.java,否则将出错