我正在尝试jpackage为我的 Java 应用程序创建安装程序。我在 Windows 10 上使用 OpenJDK 15.0.1。我可以使用构建安装程序
jpackage --input C:\MyApp --main-jar MyApp.jar
Run Code Online (Sandbox Code Playgroud)
这基本上可以工作,但是安装的应用程序缺少资源文件。根据文档,我应该能够构建应用程序映像,将资源文件添加到映像中,然后从修改后的应用程序映像构建安装程序,如下所示
jpackage --type app-image -n MyAppImage
copy <resource files> MyAppImage
jpackage --app-image MyAppImage --name MyAppInstaller
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试时,jpackage --type app-image该进程永远不会终止,我必须使用 control-C 终止它。当我检查该MyAppImage目录时,它有一个子目录app,它或多或少地反映了C:\MyApp. 这些内容包括MyAppImage,它递归地复制到app子目录中,创建一组可能无限的目录:C:\MyApp\MyAppImage\app\MyAppImage\app\MyAppImage...
如果我手动删除app\MyAppImage并尝试jpackage --app-image,jpackage 会因 java.io.IOException 崩溃。
有人遇到过这种情况么?我应该尝试什么?
事实证明,shell 工作目录有所不同。--input 指定的目录不应与创建应用程序映像的目录相同。
我通过创建子目录 C:\MyApp\build 并将 MyApp.jar 复制到 build 来解决该问题。
cd C:\MyApp
mkdir build
copy MyApp.jar build
jpackage --type app-image --n MyAppImage --input C:\MyApp\build --main-jar MyApp.jar
Run Code Online (Sandbox Code Playgroud)
递归文件复制不再发生。但我运行时仍然出错jpackage --app-image。我将把它作为后续帖子的主题。
| 归档时间: |
|
| 查看次数: |
648 次 |
| 最近记录: |