cmd下运行java程序

来源:互联网 发布:频无损剪切软件 编辑:程序博客网 时间:2024/05/16 04:14
一直在作JAVA的开发,但多是B/S开发,是要发布到WEB服务器上去跑的。这一天,有个朋友说用JAVA写了个小游戏,让我给看一下,如是把源文件拿了过来,放到eclipse下一编译、运行,一点问题没有,再给他加了个记录排名的功能,再给他发了回去,可他说运行不了?
      Why? 我跑到cmd下,java 一下,妈妈的,还真是那么回事,好好的报什么找不到类和主函数的错:Exception in thread"main" java.lang.NoClassDefFoundError,真把咱家给气傻了!上google一搜,这问题还真是不少,归结起来就以下几点:

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:\class\sony\test\目录下。
执行的时候应该参考第3点中说的,按类名执行:java sony.test.HelloWorld。

照着上面的几点一点一点地来排错,结果发现是第4点没有设置,把classpath参数一设好,立马就出现了久违的界面,呵呵,阴沟里也会翻船啊。

文章转载自:http://hqs2892805.blog.163.com/blog/static/37996831201271341511436/

原创粉丝点击