问题描述
我是 Java 新手。在进入正题之前,先介绍一下我现在的情况。对不起,故事太长了。
我使用 jpackage 为我的应用程序制作了一个打包安装程序。我第一次打包了一个简单的hello world程序,只是为了测试jpackage命令。一旦它生成了打包的安装程序,我就用它安装了我的 hello world 程序。
然后我去C:\Program Files\Hello World
然后执行HelloWorld.exe
文件。;但什么也没发生。为了调试这个问题,我在最后用一个无限循环重建了 HelloWorld.jar 文件。然后我重新打包并重新安装了程序。然后我再次运行 HelloWorld.exe。
但是,这一次我在鼠标光标处看到一个蓝色圆圈已经有一段时间了。于是我打开任务管理器向下滚动,然后我发现后台进程列表中运行着HelloWorld程序!这是截图:
所以,这是我的问题:为什么我用 packaged 创建的打包安装程序创建的 java 应用程序在后台运行?为什么不打开任何控制台窗口?
编辑:我忘记包含用于创建打包安装程序的命令。这是:
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
解决方法
为了在运行应用程序时显示控制台,您必须在调用 --win-console
时添加 jpackge
选项:
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