gpt4 book ai didi

java - 有没有办法为同一平台上的多个目标构建 java 应用程序的安装程序?

转载 作者:太空宇宙 更新时间:2023-11-04 09:18:20 25 4
gpt4 key购买 nike

我想在同一台机器上从同一源代码树构建 .msi、.deb 和 .pkg。

Java9+ 的可分发运行时不再可下载,因此像 launch4j+nsis 这样完美的解决方案不再有效。

javapackager 已被 Oracle 放弃。

OpenJDK 的 jpackager 无法(也永远不会)针对不同的构建项目进行交叉编译,而且它甚至还不是真正的产品。

有没有办法在同一台机器上构建 win/linux/macos 安装程序?

“一次编译,到处运行”的 promise 真的已经死了吗?

我有一个遗留的 java 应用程序,现在处于不确定状态,因为 MacOS java8 不支持 java.awt.desktop,这需要 java9+

最佳答案

自 Java 9 以及 jlinkjpackage 诞生以来,我就使用由不同 docker 镜像和虚拟机组成的跨平台设置,我可以在主机系统内的目标平台上构建运行时和安装程序(MSI、DEB/RPM 和 DMG/PKG)。

对于 Mac,如果您没有 Apple 硬件,则可以使用 KVM 镜像,以便通过 ssh 发出命令。

对于 Windows,使用 Linux docker 容器,其中包含 wine、OpenJDK for Windows、Visual Studio 构建工具、WIX 和 CMake 来执行运行时镜像的构建以及自定义的 MSI 安装程序(因为 javapackage 版本太简单)

关于java - 有没有办法为同一平台上的多个目标构建 java 应用程序的安装程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58675893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com