java-9 – 带有jlink压缩标记的Java9打包程序

当我们创建jlink运行时映像时,我们可以使用’–strip-debug’,’ – compress’,’2′,’ – no-header-files’,’ – no-man-pages’等标签,创建一个45mb左右的分发文件夹.

如果我们想使用javapackager,例如创建.DMG文件,我们如何进行类似的压缩?因为这些标签不适用于javapackager.没有它们,最终的捆绑包大约100mb,失去了很多java9模块化的优点,所以我的问题是,是否可以使用javapackager和jlink创建的JRE运行时映像.

谢谢

最佳答案
回答我自己的问题,我们可以使用两者的组合:

对于MacOSX示例:

1)使用jlink生成运行时dist,如果使用compress标签,这将创建一个大约50mb的lib文件夹.

2)使用javapackager生成MacOSX.app,此.app将附带一个大约98mb的运行时lib文件夹.

3)简单替换它们,右键单击MacOSX.app-> “show package contents”,然后转到Plugins / Java.runtime / Contents / Home /并将lib文件夹替换为jLink生成的文件夹.

这样,由于美观的Java9模块,您拥有一个大约50mb而不是100mb的独立Java应用程序.

使用javapackager完成所有这些操作会很酷,如果有可能我找不到,我建议使用gradle之类的东西用1命令执行所有这个过程.

转载注明原文:java-9 – 带有jlink压缩标记的Java9打包程序 - 代码日志