我使用64位操作系统开发JavaFX应用程序,并使用Maven使用javafx-maven-plugin构建我的应用程序以生成安装包。生成的程序包仅包含64位应用程序。那么,有没有办法在一次通过中创建一个multiarch安装程序或创建一对x86 / x64安装程序?
UPD 你能提供一个基于maven的目标构建系统的例子吗?是否需要在OS x64上使用不同的操作系统或不同的JRE?在最后一种情况下,如何每次运行构建一对安装程序?如何自动添加后缀到应用程序名称以注意架构?是否需要使用例如詹金斯,或者它可以单独使用maven完成?目标构建系统是否有一些“经典”配置?而且,在64位操作系统上使用32位应用程序有一些缺点吗?从我的测试来看,32位应用程序(对于我的情况)在32位操作系统上比在64位操作系统上慢。但64位操作系统上的32位和64位应用程序同样如此。
答案 0 :(得分:0)
这是因为底层安装程序包含该信息。没有未来可以提供这个,这曾经是一个JDK-bug,但是因为“不会修复”而关闭。由于javafx-maven-plugin使用官方javapackager
- 工具,因此该工具的所有优点/缺点也是有效的。这甚至在官方文档中:https://docs.oracle.com/javase/8/docs/technotes/guides/deploy/self-contained-packaging.html#A1307236
每个目标架构都需要一个构建系统。
编辑关于您更新的问题:您只能在Windows系统上创建Windows启动程序/安装程序,您只能在Linux系统上创建linux启动程序/安装程序,并且相同的表单mac 。这意味着为了从一个项目中获取启动器/安装程序,您必须在每个平台上运行构建,并且每个平台运行两次。有一次你需要安装32位JDK来调用它,而另一次安装64位JDK(可能在Windows上工作只能设置JAVA_HOME,就像maven选择它一样),它不需要任何像Jenkins这样的工具,但是如果你有,只需使用它。
关于性能我不能说什么,这超出了范围,并且与JRE本身绑定。
免责声明:我是该maven插件的维护者。