【问题标题】:Java program that is installed by a packaged installer (created with jpackage) runs in the background(doesn't open any window) - bug由打包安装程序(使用 jpackage 创建)安装的 Java 程序在后台运行(不打开任何窗口) - 错误
【发布时间】:2021-06-21 12:26:04
【问题描述】:

我是 Java 新手。在直入主题之前,让我向您介绍一下我现在的位置。对不起,说得太长了。

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

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

但是,这一次我在鼠标光标处看到了一个蓝色的圆圈很长一段时间。于是我打开任务管理器向下滚动,然后在后台进程列表中发现运行的HelloWorld程序!截图如下:

screenshot of task manager

所以,这是我的问题:为什么我使用 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

【问题讨论】:

    标签: java windows-installer background-process jpackage


    【解决方案1】:

    为了在运行应用程序时显示控制台,您必须在调用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
    

    【讨论】:

    • 在我问这个问题之前,我应该已经完整地阅读了 jpackage 的文档。它有效!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多