Java 由打包安装程序(使用 jpackage 创建)安装的程序在后台运行(不打开任何 window)- 错误

Java program that is installed by a packaged installer (created with jpackage) runs in the background(doesn't open any window) - bug

我是 java 的新手。在我进入正题之前,让我向你介绍一下我现在的处境。抱歉说来话长。

我用 jpackage 为我的应用程序打包了安装程序。第一次打包了一个简单的hello world程序,只是为了测试一下jpackage命令。一旦它生成了打包的安装程序,我就用它安装了我的 hello world 程序。

然后我去了C:\Program Files\Hello World然后执行了HelloWorld.exe文件。但什么也没发生。为了调试这个问题,我重建了 HelloWorld.jar 文件,最后有一个无限循环。然后我重新打包并重新安装了程序。然后我又运行 HelloWorld.exe。

然而,这一次我在鼠标光标处看到了一个蓝色的圆圈好久了。所以我打开任务管理器向下滚动,然后我在后台进程列表中找到了HelloWorld程序运行!这是屏幕截图:

screenshot of task manager

所以,这是我的问题:为什么我的 java 应用程序(我使用 packaged, 运行 创建的打包安装程序创建的)在后台?为什么它不打开任何控制台 windows?

编辑:我忘记包含用于创建打包安装程序的命令。这是:

jpackage -t exe --name HelloWorld --input D:\Fida\Codeblocks\Java\Projects\HelloWorld\dist --dest D:\Fida\CodeBlocks\java --main-jar HelloWorld.jar --module-path "C:\Program Files\Java\jdk-16.0.1\jmods" --add-modules java.base --description "Hello World Program" --app-version 1.0.0 --vendor Fida --icon D:\icon_file.ico --copyright Fida --win-shortcut --win-menu

为了在 运行 应用程序时显示控制台,您必须在调用 jpackge:

时添加 --win-console 选项
Platform dependent option for creating the application launcher:
  --win-console
          Creates a console launcher for the application, should be
          specified for application which requires console interactions