当前位置: 技术问答>java相关
我安装完j2sdk1.4.1后,设置完path和classpath后,测试java app 提示错误:Exception in thread "main" java.lang.NoclassDefFoundError:
来源: 互联网 发布时间:2015-11-09
本文导语: 我安装完j2sdk1.4.1后,设置完path和classpath后,测试java app 提示错误:Exception in thread "main" java.lang.NoclassDefFoundError:app,请问什么原因,我该怎忙配置? 原文件: public class app { public static void main(String [] args)...
我安装完j2sdk1.4.1后,设置完path和classpath后,测试java app
提示错误:Exception in thread "main" java.lang.NoclassDefFoundError:app,请问什么原因,我该怎忙配置?
原文件:
public class app
{
public static void main(String [] args)
{
System.out.println("Hello!");
}
}
提示错误:Exception in thread "main" java.lang.NoclassDefFoundError:app,请问什么原因,我该怎忙配置?
原文件:
public class app
{
public static void main(String [] args)
{
System.out.println("Hello!");
}
}
|
是不是除了jdk,还有其他的如jbuilder 什么的,可能发生冲突,把其中一个卸了,就ok了
|
在classpath类路径上加一个.;这样才能搜索到当前路径。
|
应该这样检查你的环境和你的操作:
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。
|
我的電腦--右鍵--內容--高級--環境變量--系統變量
如果有"CLASSPATH"變量名,則在"編輯"後的變量值的開頭加入".;"
如果沒有則新增"CLASSPATH"變量名,值為".;"
如果有"CLASSPATH"變量名,則在"編輯"後的變量值的開頭加入".;"
如果沒有則新增"CLASSPATH"變量名,值為".;"
|
cmd
c:> set classpath
看看是些什么?
c:> set classpath
看看是些什么?
|
那是因为在classpath找不到app所在的目录,
应该加入app所在的目录,
也可就加上.;
应该加入app所在的目录,
也可就加上.;