我昨天开始使用 Java。我安装了 Eclipse、JDK 和 JRE,并完成了 HelloWorld 教程。我按照教程操作,它在 Eclipse 上正确运行。现在我想在一个可运行的 .jar 文件上转换它,所以我去导出,我创建它,它出现在桌面上。
因此,当我尝试双击它(使用 javaw 打开它)时,它会返回忙碌的光标图标,但什么也没有发生。另一方面,如果我从 cmd 打开它java -jar HelloWorld.jar
,它可以正常工作。正常吗?我能做些什么?
就像 Pietu1998 说的那样,javaw.exe
实际上会运行你的程序但不会打开控制台窗口。这是因为javaw.exe
它旨在运行显然不需要命令提示符的 GUI。请参阅此问题java.exe
以了解和之间的区别javaw.exe
。
甚至
javaw -jar HelloWorld.jar
在命令提示符下看起来好像什么都没有发生。将输出重定向到一个文件,你会看到你的程序实际运行了:
javaw -jar HelloWorld.jar > HelloWorld.txt
程序的输出将在文件中HelloWorld.txt
。
通常所有的java程序都不仅仅依赖于双击来运行,而是带有一种为你的应用程序launcher
准备环境的a——特别是设置类路径——然后运行它。它依赖于平台,如果平台允许使用双击运行它,那么它将以这种方式运行。这样的启动器可能只是一个简单的脚本:.bat
、.cmd
或.sh
可执行文件.exe
。例如,如果您查看安装了 eclipse 的文件夹,那么您会找到一个eclipse.exe
文件(假设您的平台是 windows)。创建这样的启动器也很容易,并在此问题中进行了说明。