2012-03-11 63 views
1

我无法在CMD中运行java程序,但它在eclipse中正常运行。 enter image description here我无法在CMD中运行java程序

这些都是我提供配置:

CLASSPATH:;%JAVA_HOME%\ LIB \ dt.jar;%JAVA_HOME%\ LIB \ tools.jar中

JAVA_HOME:C:\ Program Files文件\的Java \ jdk1.7.0_03

路径:%JAVA_HOME%\ BIN;%JAVA_HOME%\ jre的\ BIN

我不觉得有什么不妥的节目,因为我在跑,即使没有成功一个程序。所有这些程序都来自官方网站头第一Java.I可以使用javac没有任何问题。

我现在只能提供这些。如果你需要更多的信息,我会提供给你。

+0

检查你的classpath在eclipse和全局之间。 – Chriseyre2000 2012-03-11 13:50:35

+0

[NoClassDefFoundError]的可能重复(http://stackoverflow.com/questions/6663810/noclassdeffounderror) – Mat 2012-03-11 13:51:24

+0

是具有'main()''BeerSong',而不是'beersong'的类的名字吗? – hmjd 2012-03-11 13:51:27

回答

4

你应该在f:\pro\hfjavafinalsamples和运行

java chap01.BeerSong 

你需要给java命令的完全限定类名,根据错误信息是chap01.BeerSong。然后java将通过检入chap01目录来寻找chap01包内的类BeerSong

请注意,Java也是区分大小写的,即使文件系统不是 - 类简单名称是BeerSong,而不是beersong

+0

我读了一些关于这个问题的文章,我认为主要的问题是“包”。我刚开始学习Java,并且我没有“包”的概念。当我使用Eclipse时,我经常使用因此,即使使用您提供的样式,我也无法运行自己的程序。但是,我会通过获得更多的Java知识来尝试解决此问题。 – coqer 2012-03-11 14:17:45

+0

@ user911865:你的方法存在三个问题:你没有在类名中指定包名,你在错误的目录中('chap01'目录而不是你的逻辑类路径的“根”),而且你没有使用正确的班级名称。我不知道你为什么认为你“不能运行”你自己的程序,使用我给出的方法......你当然可以。但是,是的,你应该很快了解包装。 – 2012-03-11 14:38:01

+0

,BeerSong的第一行是** package chap01 **;但是当我使用Eclipse创建类时,我经常使用默认包,所以没有包声明。我会尝试自己解决这个问题,如果我不能,我会请你帮忙。谢谢你! – coqer 2012-03-12 04:05:44