2011-05-09 129 views
1

我在Eclipse中创建了一个java程序。当我在Eclipse中运行程序(“作为 - > Java应用程序运行”)时,程序运行良好,并且我有正确的输出。然而,当我尝试在命令行界面运行程序,我得到这个错误:从命令行界面运行java程序的问题

Exception in thread "main" java.lang.NoClassDefFoundError : HelloWorld (wrong name: helloworld/HelloWorld) Could not find the main class: HelloWorld. Program will exit.

类文件目录bin和我尝试用命令来运行它:

java HelloWorld 
+0

你的班级是否在默认包中(即没有包声明)?当说'我尝试用命令:java HelloWorld'编译它时,你的意思是运行吗? – wjans 2011-05-09 09:41:12

+0

是的我的意思是运行该项目不编译它。 – Victor 2011-05-09 09:52:15

+0

我的课程有一个包装声明:package helloworld; – Victor 2011-05-09 09:53:34

回答

1

由于类是在包helloworld,你应该这样运行:

java helloworld.HelloWorld 

另外,还要确保“”在你的类路径中。

+0

它工作。我必须在helloworld目录之前的目录中键入它。 – Victor 2011-05-09 10:11:07

1

I try to compile it with the command: java HelloWorld

编译你应该使用javac命令就像一个Java程序

javac Helloworld.java 
+0

我的意思是运行该文件不编译它,因为它已经编译。 – Victor 2011-05-09 09:43:25

+0

@Victor:你在运行它时在classpath中提供了所有需要的jar吗? – 2011-05-09 09:48:21

+0

我没有罐子文件只有HelloWorld.class文件和HelloWorld.java – Victor 2011-05-09 09:51:32

1

你肯定在您的类目录在类路径中?通常,在你的项目目录中,“classes”或“lib”目录。

如果您从该目录运行,则可以尝试添加“。”。

请参阅java运行时可执行文件的-cp参数。

+0

但是该文件已经编译好了,我只需要运行它。 – Victor 2011-05-09 09:42:31

+0

你需要这个来运行它,编译它的命令是javac。 – SJuan76 2011-05-09 11:28:16