【问题标题】:"Couldn't find the main class" on HelloWorldHelloWorld 上的“找不到主类”
【发布时间】:2013-09-22 10:10:08
【问题描述】:

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

因此,当我尝试双击它(使用 javaw 打开它)时,它会返回忙碌的光标图标,但什么也没有发生。另一方面,如果我从 cmd java -jar HelloWorld.jar 打开它,它可以正常工作。正常吗?我能做什么?

【问题讨论】:

  • 已经在这里回答了 - stackoverflow.com/questions/8784300/…
  • 当双击 jar 时,Java 在 javaw.exe 中打开它,它不显示控制台输出。您的代码运行,您只是看不到它。运行javaw -jar HelloWorld.jar 可以获得相同的结果。

标签: java eclipse jar javaw


【解决方案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 中有说明。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-04
    • 2021-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-28
    • 2014-04-27
    相关资源
    最近更新 更多