我正在尝试使用jpackage为我的Java应用程序创建一个安装程序。我在Windows10上使用OpenJDK 15.0.1。我可以使用以下命令构建一个安装程序
jpackage --input C:\MyApp --main-jar MyApp.jar这基本上是可行的,但安装的应用程序缺少资源文件。根据文档,我应该能够构建应用程序镜像,将我的资源文件添加到镜像中,然后从修改后的应用程序镜像构建安装程序,如下所示
jpackage --type app-image -n MyAppImage
copy <resource files> MyAppImage
jpackage --app-image MyAppImage --name MyAppInstaller但是,当我尝试使用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。
还有没有人遇到过这种情况?我应该尝试什么?
发布于 2020-11-09 06:54:34
事实证明,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递归文件复制不再发生。但在运行jpackage --app-image时,我仍然收到一个错误。我将把它作为下一篇文章的主题。
https://stackoverflow.com/questions/64741275
复制相似问题