使用 --app-image 选项创建安装程序时 jpackage 崩溃

jpackage crashes when creating an installer with the --app-image option

我正在尝试使用 jpackage 为我的 Java 应用创建安装程序。我在 Windows 10 使用 OpenJDK 15.0.1。我可以使用

构建安装程序
jpackage --input C:\MyApp --main-jar MyApp.jar

基本可以,但是安装的应用程序缺少资源文件。根据文档,我应该能够构建一个应用程序映像,将我的资源文件添加到映像中,然后从修改后的应用程序映像构建安装程序,如下

cd C:\MyApp
mkdir build
copy MyApp.jar build
jpackage --type app-image --n MyAppImage --input C:\MyApp\build --main-jar MyApp.jar
copy <resource files> MyAppImage
jpackage --app-image MyAppImage --name MyAppInstaller

这构建了 MyAppImage,但是当我 运行 jpackage --app-image 它崩溃了。这是输出:

WARNING: Using incubator modules: jdk.incubator.jpackage
java.io.IOException: Command [C:\Program Files (x86)\WiX Toolset v3.11\bin\light.exe, -nologo, -spdb, -ext, WixUtilExtension, -out, C:\Users\Jerry\AppData\Local\Temp\jdk.incubator.jpackage10106877493523723400\images\win-exe.image\MyAppInstall-1.0.msi, -sice:ICE27, -loc, C:\Users\Jerry\AppData\Local\Temp\jdk.incubator.jpackage10106877493523723400\config\MsiInstallerStrings_en.wxl, C:\Users\Jerry\AppData\Local\Temp\jdk.incubator.jpackage10106877493523723400\wixobj\main.wixobj, C:\Users\Jerry\AppData\Local\Temp\jdk.incubator.jpackage10106877493523723400\wixobj\bundle.wixobj]in C:\Users\Jerry\AppData\Local\Temp\jdk.incubator.jpackage10106877493523723400\images\win-msi.image\MyAppInstall exited with 103 code

有没有其他人遇到过这个?我应该尝试什么?

(这是 earlier post 的后续)

似乎是:https://bugs.openjdk.java.net/browse/JDK-8254783

jpackage fails on Windows when application name differs from installer name

我可以用 JDK 15 build 36 重现你的崩溃。

如果我为 --name 指定与我为应用程序图像指定的参数相同的参数,它对我有用。在你的情况下,工作命令应该是:

jpackage --app-image MyAppImage --name MyAppImage

(与 app-image 命令的名称相同,但您可能想要更改名称)。

就其价值而言,它适用于最新的 JDK 16-ea。 (另见关于 JBS 问题的评论)。