【发布时间】:2021-05-19 16:38:51
【问题描述】:
我正在尝试使用 JPackage 为 Linux 系统创建可执行文件。 我已经使用这个命令成功地为 Windows 创建了一个可执行文件:
jpackage --type msi --name EzQuiz --description "EzQuiz by Benjamin Schreiber" --app-version 1.0 --input D:\dev\IdeaProjects\fblaproj\out\artifacts\fbla_gui_jar --dest D:\Users\Work\Desktop\ --main-jar fbla_gui.jar --win-shortcut
但是,当我尝试使用相同的命令制作 RPM、DEB 或 PKG 时
jpackage --type rpm --name EzQuiz --description "EzQuiz by Benjamin Schreiber" --app-version 1.0 --input D:\dev\IdeaProjects\fblaproj\out\artifacts\fbla_gui_jar --dest D:\Users\Work\Desktop\ --main-jar fbla_gui.jar --linux-shortcut
我收到Error: Invalid or unsupported type: [rpm]
在 JPackage 命令文档中,我可以清楚地看到 RPM 是一个可接受的值 allowed values
如何在 windows 上使用 jpackage 创建 RPM/PKG/DEB 文件文件?
【问题讨论】:
-
当我在 Windows 上运行
jpackage --help时,我只看到Valid values are: {"app-image", "exe", "msi"},据我所知,这取决于您运行的平台。即我认为不可能在 Windows 上创建rpm(至少不是本机)。不过,您可以使用 Linux JDK 发行版在 WSL 下运行jpackage来执行此操作。 -
是的,这很糟糕,而且 Java 曾经是真正的多平台。一种不太理想的可能性是在所需的目标操作系统(在您的情况下为 Linux)上调用 jpackage 一次,然后将输出文件复制到主机操作系统(在您的情况下为 Windows)上的某个位置。您现在可以在主机操作系统上调用 jpackage。您可以丢弃所有“runtime/”文件夹,并复制“app/”文件夹的内容并在目标结构中替换它们。合并后,您应该希望得到想要的结果。