我正在 Windows 中构建我的 Java 产品并为我的产品生成 MSI 安装程序。
是否可以在 Ubuntu 中为我的产品构建一个可以在 Windows 上运行的 .MSI 安装程序文件?
答案1
据我所知,Ubuntu 上没有创建 MSI 软件包的工具(MSI 中的 MS 代表“Microsoft”,而 MSI 几乎仅限于 Windows 平台)。您可以将 Ubuntu(和其他版本)打包成各种形式的软件包(apt、snap、tarball 等)——请参阅http://packaging.ubuntu.com/html/packaging-new-software.html,例如。但是,考虑到两个操作系统平台之间存在巨大的根本差异,对 Windows 和 Linux(或其他 Unixen)使用相同的软件包并不是一个真正现实的选择。
答案2
javapackager执行与打包和签署 Java 和 JavaFX 应用程序相关的任务。javapackager 由 Ubuntu 16.04 和 Ubuntu 18.04 中的 openjfx 提供。
从结果来看man javapackager
。
概要 javapackager命令 [选项] 命令 應該執行的任務。 选项 一个或多个用空格分隔的命令选项。 命令 您可以指定以下命令之一。在该命令之后, 指定它的选项。 -createbss 将 CSS 文件转换为二进制形式。 创建jar 根据其他参数生成 JAR 档案。 -部署 组装应用程序包以供重新分发。默认情况下, 部署任务生成基础应用程序包,但它可以 如果需要的话,还可以生成一个独立的应用程序包。 -makeall 执行编译,创建jar, 和部署步骤作为一个调用, 大多数参数都是预先定义的,并尝试生成所有适用的 自包含的应用程序包。源文件必须是 位于名为源码以及生成的文件(JAR、JNLP、 HTML 和自包含的应用程序包)放在一个文件夹中 称为分布. 此命令只能以最少的方式配置 并尽可能实现自动化。 —签名器 使用提供的证书对 JAR 文件进行签名。
在 Ubuntu 18.10 及更高版本中,javapackager 已从 OpenJFX 中删除。你可以用msi 打包程序。