【问题标题】:How can I JPackage an RPM/PKG/DEB on Windows?如何在 Windows 上 JPackage RPM/PKG/DEB?
【发布时间】: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/”文件夹的内容并在目标结构中替换它们。合并后,您应该希望得到想要的结果。

标签: java windows jpackage


【解决方案1】:

如果这家伙的介绍还是最新的,jpackage不支持跨平台编译,也不支持跨平台部署。看看https://www.youtube.com/watch?v=ZGW9AalZLN4中的第一张幻灯片

解决方法可能是涉及正确的目标机器或尝试关注https://www.oracle.com/technical-resources/articles/javase/javatomac3.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-27
    • 2015-09-02
    • 2010-12-18
    • 1970-01-01
    相关资源
    最近更新 更多