当前位置: 首页 > 知识库问答 >
问题:

jpack--type app-Image创建无限递归目录

朱雅惠
2023-03-14

我正在尝试使用jpackage为我的Java应用程序创建安装程序。我在Windows10上使用OpenJDK15.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崩溃。木卫一。例外。

还有其他人遇到过这种情况吗?我应该试试什么?

共有1个答案

裴哲
2023-03-14

事实证明,shell工作目录起了作用。由--input指定的目录不应与创建应用程序映像的目录相同。

我通过创建子目录C:\MyApp\build并复制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

递归文件复制不再发生。但我在运行jpackage--app image时仍然遇到错误。我将在以后的文章中讨论这个问题。

 类似资料:
  • 在尝试执行GET到发布者存储库时,我正在执行GET和无限循环。 出版商: 书: 完整代码可在此处获得: https://github.com/vanyasav/library

  • 问题描述 (Problem Description) 如何递归创建目录? 解决方案 (Solution) 下面的示例演示如何借助File类的file.mkdirs()方法递归创建目录。 import java.io.File; public class Main { public static void main(String[] args) { String directori

  • 创建目录权限 如果你想创建一个目录并授予777权限,你需要怎么做?查看Go的API文档我们可以这样写。 源文件为mkdir.go。 package main import ( "fmt" "os" ) func main() { err := os.MkdirAll("/tmp/gotest/", 0777) if err != nil { panic(er

  • 我用的是Spring Roo 1.2.1和Jackson 1.9.7。在使用json序列化我的类时,我得到了一个JsonMappingException。 我读了以下帖子,但没有找到适合我的工作解决方案: Jackson的无限递归 Jackson-具有双方向关系的实体序列化(避免循环) 我不知道为什么JsonIgnore在属性QueueOuts的类Queue中不起作用。我也尝试了JsonManag

  • 我最近实现了一个4X4井字游戏的代码,这是使用极大极小算法。然而,我的极大极小函数无限次地递归调用自己。 初始板 (4X4) 井字 - 轮到电脑的代码- 在上面的代码中是船上的空位置,返回“X”(如果玩家X获胜),返回“O”(如果玩家O获胜) checkGameOver函数-

  • 我使用Google Endpoint创建了一个应用服务器,它是一个即时消息应用程序的后端。每个用户都有一个好友列表。 当我创建一个新朋友时,我使用下面的方法将用户添加到彼此的朋友列表中。然而,由于循环依赖关系,当我添加朋友时,它给了我以下错误。 我看了贴出的其他问题和解决方案。他们中的大多数人结构不同,他们没有解决我的问题。 这个网站的一个答案是建议添加,但我没有任何字段可以添加。我试图放置,但我