首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有jlink压缩标签的Java9打包器

带有jlink压缩标签的Java9打包器
EN

Stack Overflow用户
提问于 2017-11-14 13:45:39
回答 2查看 1.2K关注 0票数 5

当我们创建jlink运行时映像时,我们可以使用诸如‘--条形-调试’,‘-压缩’,'2',‘-无头-文件’,‘-无手册页’这样的标记,创建一个大约45 as的分发文件夹。

如果我们想要使用javapackager,例如创建一个.DMG文件,我们如何进行类似的压缩?因为这些标记对于javapackager来说是不可维护的。没有它们,最后的包大约是100 my,失去了很多java9模块化的优势,所以我的问题是,是否可以在jlink创建的JRE运行时映像中使用javapackager。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-15 16:07:22

在回答我自己的问题时,我们可以把两者结合起来:

例如,对于MacOSX:

1)使用jlink生成一个运行时dist,如果使用压缩标记,这将创建一个大约50 if的lib文件夹。

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

3)简单地替换它们,右键单击MacOSX.app->“显示包内容”,然后转到Plugins/Java.Runtime/Content/Home/并将lib文件夹替换为jLink生成的文件夹。

这样你就有了一个独立的Java应用程序,它只有50 to,而不是100 to,这要归功于漂亮的Java9模块。

使用javapackager完成所有这些都很酷,如果可能我无法找到方法,我建议使用gradle这样的方法来执行所有这些过程,并使用1命令。

票数 4
EN

Stack Overflow用户

发布于 2018-03-19 00:49:31

您可以将一个选项传递给JDK 9 javapackager,该选项被传递给jlink进程。

javapackager选项以控制jlink

代码语言:javascript
复制
-BjlinkOptions=compress=2
or
-BjlinkOptions=strip-debug

我不知道如何同时通过。

代码语言:javascript
复制
-BjlinkOptions="compress=2 strip-debug"

导致java.lang.IllegalArgumentException

代码语言:javascript
复制
-BjlinkOptions="strip-debug compress=2"

具有与-BjlinkOptions=strip-debug相同的结果

当选项-BjlinkOptions=...多次传递给javapackager时,只考虑最后一个选项。

在这里,jlink选项no-header-filesno-man-pages似乎无效,因为它们在-BjlinkOptions=之后传递时会导致NPE。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47287429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档