代码之家  ›  专栏  ›  技术社区  ›  mana

带有Jpackage的Java FX应用程序不工作

  •  -1
  • mana  · 技术社区  · 4 年前

    我已经用JavaFX创建了我的应用程序。一切都很好,所以我使用Jpackage在Windows中制作了一个可安装的应用程序版本。

    在我安装包之后,Windows计算机仍然要求安装JVM。

    jpackage -t exe --name "FReport" --description "Time reporting" --app-version 1.0 --input "C:\myapp" --dest "C:\myapp\out" --main-jar "freport.jar" --module-path "C:\Program Files\Java\javafx-sdk-17.0.1\lib" --add-modules javafx.controls,javafx.fxml --win-shortcut --win-menu
    

    我的期望是,我可以使用Jpackage在任何计算机上安装我的JavaFX应用程序,并自动设置JVM。。用户只需点击图标并运行应用程序。

    关于Jpackage中的正确命令的任何建议,以将我的JavaFX应用程序jar文件与所有必需的环境(如JVM)打包。。等

    0 回复  |  直到 4 年前
        1
  •  3
  •   DuncG    4 年前

    您没有为JavaFX指定正确的模块——您引用了lib文件,而不是模块 jlink 不会包含JavaFX库,因为它不会读取 javafx.base.jmod 下载jmods JDK和参考资料 C:\somepath\javafx-jmods-VER 而不是lib版本。

    另外:通过添加 --win-console 并在运行安装程序和应用程序时报告实际的错误消息。

    你已经指定了 --input 嵌套的 --dest 这样你就可以将整个应用程序复制到第二个版本中

    使用已安装的运行时映像或作为单独映像测试应用程序(请参见下文)。只需参考 jlink 与当前应用程序一起运行,以查看缺少哪些模块。

    如果你不更新 -app-version 之后的任何尝试都不会安装新软件包,除非您取消安装以前的安装。这非常令人沮丧,jpackage应该在重新安装同一版本时发出警告,而不是在没有错误消息的情况下放弃。

    请注意所有这些其他典型问题 jpackage 问题: