我用JavaFX创建了我的应用程序。所有操作都很好,所以我使用Jpackage在窗口中制作可安装的应用程序版本。
安装软件包后,窗口计算机仍然要求安装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 ..etc。用户只需单击图标并运行应用程序即可。
任何关于Jpackage中正确的命令以将我的JavaFX应用程序jar文件打包到所有需要的环境(如JVM ..etc )的建议
发布于 2021-12-23 09:56:25
您没有为JavaFX指定正确的模块-您引用了库文件而不是模块,因此jlink不会包含JavaFX库,因为它不会读取诸如javafx.base.jmod之类的模块。下载jmods JDK并参考C:\somepath\javafx-jmods-VER,而不是lib版本。
此外:通过添加--win-console打开控制台,并报告运行安装程序和应用程序退出时实际错误消息是什么。
您已经在内部指定了带有嵌套--input的--dest,因此您将把整个应用程序复制到第二个版本中。
使用已安装的运行时映像测试应用程序,或作为单独的映像测试应用程序(见下文)。只需使用当前应用程序引用jlink运行时的安装程序位置,就可以查看缺少了哪些模块。
如果您不每次更新-app-version,那么除非您卸载上一次安装,否则新包不会被任何后续尝试安装。这是非常令人沮丧的,jpackage应该在重新安装相同版本时发出警告,而不是在没有错误消息的情况下放弃。
请注意所有其他典型的jpackage问题:
jpackage之前测试JRE。
https://stackoverflow.com/questions/70456027
复制相似问题