当前位置: 技术问答>java相关
我是初学小菜,求助!(答者送分)
来源: 互联网 发布时间:2015-10-07
本文导语: 我的jdk1.3安装以后,写一段程序用javac编译可以通过,但用java 文件.class以后,出错: Exception in thread "main" java.lang.NoClassDefFoundError: first/class 我已经在autoexec.bat中设了PATH和CLASSPATH,请问各位如何解决之?我以前学C...
我的jdk1.3安装以后,写一段程序用javac编译可以通过,但用java 文件.class以后,出错:
Exception in thread "main" java.lang.NoClassDefFoundError: first/class
我已经在autoexec.bat中设了PATH和CLASSPATH,请问各位如何解决之?我以前学C/C++的,另请各位指点一下,学JAVA的步骤,J2EE,EJB等,如何顺序学习?
Exception in thread "main" java.lang.NoClassDefFoundError: first/class
我已经在autoexec.bat中设了PATH和CLASSPATH,请问各位如何解决之?我以前学C/C++的,另请各位指点一下,学JAVA的步骤,J2EE,EJB等,如何顺序学习?
|
应该这样检查你的环境和你的操作:
1、你的文件名对吗?
JAVA要求你的文件和你的类名严格对应的。
比如 public class HelloWorld{ .....
那么文件名一定只能是HelloWorld.java,看仔细了!
2、你的程序中有main方法吗?参数什么的对吗?
main方法的声明应该是这样子的:
public static void main(String[] args)
事实上如果你用开发工具来做的话,是不会错的。如果你用UltraEdit之类的来写程序的话,就一个字不要改的照抄吧!
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:classsonytest目录下。
执行的时候应该参考第3点中说的,按类名执行:java sony.test.HelloWorld。
1、你的文件名对吗?
JAVA要求你的文件和你的类名严格对应的。
比如 public class HelloWorld{ .....
那么文件名一定只能是HelloWorld.java,看仔细了!
2、你的程序中有main方法吗?参数什么的对吗?
main方法的声明应该是这样子的:
public static void main(String[] args)
事实上如果你用开发工具来做的话,是不会错的。如果你用UltraEdit之类的来写程序的话,就一个字不要改的照抄吧!
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:classsonytest目录下。
执行的时候应该参考第3点中说的,按类名执行:java sony.test.HelloWorld。
|
用javac命令编译java文件时,必需要加上.java的扩展文件名。
但是用java命令执行java文件时,一定不能加.class扩展名。
例如:
编译:javac filename.java
执行:java filename
但是用java命令执行java文件时,一定不能加.class扩展名。
例如:
编译:javac filename.java
执行:java filename
|
同意楼上观点
但是也有特殊的时候,在你都完全无误的安装完后如果还不行的话
也有可能是系统,在注册表下把JAVA运行环境改为英文的就OK
如果还不行的话那只有从新安装一次
但是也有特殊的时候,在你都完全无误的安装完后如果还不行的话
也有可能是系统,在注册表下把JAVA运行环境改为英文的就OK
如果还不行的话那只有从新安装一次
|
java filename
后面沒有.class
后面沒有.class
|
注意;Classpath如果没有加入当前路径"."
那么java要带路径访问class:
java -d ...
那么java要带路径访问class:
java -d ...
|
还有filename的大小写要搞对:)
|
java 文件名
没有后缀
没有后缀
|
javac后面跟的参数是文件名,检查以下classpath