在HelloWorld上“无法找到主类”

时间:2013-09-22 10:10:08

标签: java eclipse jar javaw

我昨天开始使用Java。我安装了Eclipse,JDK和JRE,我做了HelloWorld教程。我按照教程,它在Eclipse上正确运行。现在我想在一个可运行的.jar文件上转换它,所以我去Export,我创建它,它出现在桌面上。

所以当我尝试双击它(用javaw打开它)时,它返回忙碌的光标图标,没有任何反应。另一方面,如果我从cmd java -jar HelloWorld.jar打开它,它可以正常工作。这是正常的吗?我该怎么办?

1 个答案:

答案 0 :(得分:1)

就像Pietu1998所说,javaw.exe实际上会运行你的程序但不会打开控制台窗口。这是因为javaw.exe用于运行GUI,显然不需要命令提示符。有关java.exejavaw.exe之间的区别,请参阅this question

即使

javaw -jar HelloWorld.jar
命令提示符上的

看起来没有任何反应。将输出重定向到文件,您将看到您的程序实际运行:

javaw -jar HelloWorld.jar > HelloWorld.txt

程序的输出将位于文件HelloWorld.txt

通常所有java程序都不依赖于双击来运行,而是带有一种launcher来为环境做准备 - 尤其是setting up the classpath - 为你的应用程序运行它。它取决于平台,如果平台允许使用双击运行它,那么它将以这种方式运行。这样的启动器可以只是一个简单的脚本:.bat.cmd.sh或可执行文件.exe。例如,如果您查看已安装eclipse的文件夹,那么您将找到eclipse.exe文件(假设您的平台是Windows)。创建这样的启动器也很简单,并在this question中进行了解释。