各位好,我之前配置好了jdk1.4的环境,并且用程序测试也是成功的,今天我再在dos下运行java命令却报错了,
Exception in thread "main" java.lang.NoClassDefFoundError
这个是什么原因呢?环境变量没有改过,期间就换了一下机器的IP,以前指定的,现在自动获取,IP段不一样了。
Exception in thread "main" java.lang.NoClassDefFoundError
这个是什么原因呢?环境变量没有改过,期间就换了一下机器的IP,以前指定的,现在自动获取,IP段不一样了。
建议楼主好好检查一下环境变量,尤其是classpath的设置。
JAVA要求你的文件和你的类名严格对应的。
比如 public class HelloWorld{ .....
那么文件名一定只能是HelloWorld.java,看仔细了!2、你的程序中有main方法吗?参数什么的对吗?
main方法的声明应该是这样子的:
public static void main(String[] args)3、记住,javac后面跟的参数是文件名,但java 后面跟的是类名!
这是我开始学JAVA是犯的错,java HelloWorld.class,然后就报错。后来才弄明白,应该是java HelloWorld。4、设置了classpath了吗?
不仅是在安装JDK时要设置的内容,一般来说最好还要自己设置一个目录来存放自己的类文件的。比如d:\class目录。
设置classpath=%classpath%;d:\class
那么,现在将HelloWorld.class文件COPY到d:\class目录下,再java HelloWorld应该就OK了。5、结合第3点和第4点
如果你的类是属于某一个包的,比如这样一个类sony.test.HelloWorld,那么按照我在第4点中说的目录来说,就应该将HelloWorld.class文件存放到d:\class\sony\test\目录下。
执行的时候应该参考第3点中说的,按类名执行:java sony.test.HelloWorld。
装过这些软件,你的path会被改掉。
你自己看看 path,IP不会导致 jdk 不可用。
jdk 1.5以上就不需要了
JAVA要求你的文件和你的类名严格对应的。
比如 public class HelloWorld{ .....
那么文件名一定只能是HelloWorld.java,看仔细了! 2、你的程序中有main方法吗?参数什么的对吗?
main方法的声明应该是这样子的:
public static void main(String[] args) 3、记住,javac后面跟的参数是文件名,但java 后面跟的是类名!
这是我开始学JAVA是犯的错,java HelloWorld.class,然后就报错。后来才弄明白,应该是java HelloWorld。 4、设置了classpath了吗?
不仅是在安装JDK时要设置的内容,一般来说最好还要自己设置一个目录来存放自己的类文件的。比如d:\class目录。
设置classpath=%classpath%;d:\class
那么,现在将HelloWorld.class文件COPY到d:\class目录下,再java HelloWorld应该就OK了。 5、结合第3点和第4点
如果你的类是属于某一个包的,比如这样一个类sony.test.HelloWorld,那么按照我在第4点中说的目录来说,就应该将HelloWorld.class文件存放到d:\class\sony\test\目录下。
执行的时候应该参考第3点中说的,按类名执行:java sony.test.HelloWorld。
支持,还没改对吗
jdk 1.5以上就不需要了
这样行吗????
把你的classpath重新配置一遍,放到最前边,可能装其他的软件被修该了
我以前也有这个问题,配置如下:
创建环境变量:
JAVA_HOME=C:\jdk150_04;
PATH=%JAVA_HOME%\bin;%PATH%
CLASSPATH=.;%JAVA_HOME%\lib 祝你好运!!!
应该是classpath没有定义,楼主可以去控制面板->系统->高级->环境变量->系统变量->编辑->把.;拷贝进去
相比直接在命令提示符里面修改,上面这个方法可以说是一劳永逸
这个好像是main方法里出现异常,你看下main方法里有没问题,否则重新设置一遍环境变量看下
我装了ORACLE,估计是因为这个原因,这个应该怎么改环境变量呢?
装JDK是因为我要装一个应用,和高版本JDK不兼容。
楼上有几位说的,有道理。
我先去试一下。应该就像他们说的一样。可搞定的。!!3Q了啊 !
楼上有几位说的,有道理。
我先去试一下。应该就像他们说的一样。可搞定的。!!3Q了啊 !