java NoClassDefFoundError怎么解决?

来源:百度知道 编辑:UC知道 时间:2024/06/14 17:40:40
具体情况如下,我写了一个helloworld程序,类名是Tank,文件全名是Tank.java,我在控制台进入到相应的目录之后用javac Tank.java编译了java文件,在目录里生成了Tank.class,但是用java Tank命令却运行不了,会提示NoClassDefFoundError错误,说Tank类找不到。但是如果我在NetBeans里边边写这个helloworld程序,运行就会毫无问题。。。。 我用的jdk是jdk1.6.0 17 该如何解决这个问题呢?
其实代码很简单的。。。。如下:
import java.io.*;
public class Tank{
public static void main(String[] args){
System.out.println("Hello World");
}
}
我是在文本文件里写的,出现的问题就如之前所述,在NetBeans里写就没问题

确实是classpath的问题,如果我在命令行里输入java Tank就会报错,但是如果输入的命令式
java -classpath 路径 Tank就能运行成功。 谁能给我解释下这是问什么吗?

可能是你的类里声明了package吧,是的话就要建立相应的路径,然后把class文件放到文件夹下,然后再在包的最上层的再上一层目录执行
java test1.test2.Tank
说得有点乱。。。将就着看吧。。。

NoClassDefFoundError意思是说有个类找不到,一般来说这句话后面会说明是哪个类没有找到,以及发生异常的代码在哪一行,你可以去研究一下到底是怎么回事。然后你说你在NetBeans里面可以运行,你可以检查一下你的这个项目的build-path里面是否引用了其他的jar文件,如果有的话,你可以在控制台先输入set classpath="这个jar文件的路径",然后再java Tank应该就没问题了

字面意思是:“没有找到这样的类",表面上看是类的名称错误,其实更有可能是classpath环境变量没有配置好。建议复查类的名称包括大小写,如果有包的情况下,注意类文件放的位置。
环境变量classpath配置中有没有小数点“.”,有没有java默认类库的位置,有没有你自己的类文件顶层目录等。
建议:
建议java出现后台报错的情况时,多搜索相关错误信息,以积累熟练解决配置错误等不必要的错误的能力。

首先你确定你在JAVA里包名称是对的

第二看你的路径对不对

要是还不行 就去问问同学 !!!!!!!!!!!

可以手动设置环境变量 set classpath 然后再试试