java示例程序在Eclipse可以运行,用命令提示符运行不了!?
关注:127 答案:6 mip版
解决时间 2021-01-31 08:50
提问者祗剩寂寞
2021-01-30 21:55
我把Eclipse可以运行的hello.java程序。用命令提示符却不好使?可能存在的问题。
D:\text>javac HelloWorld.java
D:\text>java HelloWorld
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld
Caused by: java.lang.ClassNotFoundException: HelloWorld
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: HelloWorld. Program will exit.
记事本写入代码public class HelloWorld {
public static void main(String args[]){
System.out.println("xx");
}
}之后保存成.java文件。用javac编译。用java运行。。。这样的代码还用package吗?
最佳答案
二级知识专家縱马獨歸
2021-01-30 22:26
D:\text>javac HelloWorld.java
这句没错说明环境变量没问题,而且能正确编译class
D:\text>java HelloWorld
这句出错,
确定 HelloWorld.class 在 text 目录下的话,就是你的HelloWorld.java中使用了package语句
修改:
1,最简单的方式,把package语句行删除,重新编译执行
2,如果不删除package语句,则可以按下面的方式编译,
先假设你的package语句是 package test;
编译:D:\text>javac -d . HelloWorld.java
执行后,将看到有test文件夹,HelloWorld.class在test中
执行时,需要根据你的package语句来确定类的全名(包名.类名)
执行:D:\text>java test.HelloWorld
初学者需要特别注意这些小问题
全部回答
1楼輓畱嶼赱
2021-01-31 03:52
恩,我想是文件(包)组织的问题了。 在eclipse里面打开你的代码,,看看第一句话,如package xx.yy.zz, 在package explorer里面看看你的这个类文件是不是在包xx.yy.zz里面。。
2楼落爺英雄遲暮
2021-01-31 02:28
程序中是不是应该加上
try{
}catch(Excetion e){
e.printStackTrace;
}
3楼陪我去流浪
2021-01-31 01:00
这个是因为你的Java编译的class文件没有在你package所生成的文件夹里,如果在的话,你必须通过Java 包名/class文件名访问
即 用javac -d . java文件名.Java编译,然后通过Java 包名/class文件名访问
4楼烟╰ゝ刺痛了眼伤了心
2021-01-30 23:56
环境变量没 配;
字格式不对
宋体gb2312;
小五;
最后判定是你保存的名的和你的类名一致
5楼有你才幸福
2021-01-30 22:53
你既然在eclipse里编辑好了,直接运行就好了,为什么还要到命令行里呢?控制台里也可以看到详细错误的。非要运行的话,找到你的项目里面的classes文件夹,里面对应的*.class文件,记录这个class文件的地址,然后在命令行中定位到这个class文件的路径,敲:java class文件的名称,即可。如果出现异常请检查你的环境变量配置。
我要举报
如以上问答内容为低俗/色情/暴力/不良/侵权的信息,可以点下面链接进行举报,我们会做出相应处理,感谢你的支持!
→点此我要举报以上信息!←
推荐资讯
大家都在看