首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用JDK9命令为JLink应用程序创建跨平台可执行文件

如何使用JDK9命令为JLink应用程序创建跨平台可执行文件
EN

Stack Overflow用户
提问于 2016-05-13 12:38:51
回答 2查看 4.5K关注 0票数 17

我试图为我的JAVA-9应用程序/项目拼图创建跨平台/独立于平台的可执行文件。

我认为jlink命令只会创建特定于平台的可执行文件/运行时。

EN

回答 2

Stack Overflow用户

发布于 2016-05-13 14:43:36

JLink (由9月282覆盖)创建模块化的运行时映像(由9月220覆盖,特别是新运行时映像结构一节)。这些映像是JRE、JDK和紧凑型概要文件的推广,并且与它们一样是操作系统特定的。因此,JLink不能用于创建跨平台可执行文件。

也就是说,可以在一个操作系统上运行JLink,并为不同的操作系统创建一个运行时映像。为此,您所要做的就是下载并解压缩JDK 9(与来自JLink的版本相同),并将其jmods文件夹放在JLink调用的模块路径上。

票数 18
EN

Stack Overflow用户

发布于 2021-02-07 08:58:53

我知道这个问题由来已久,但在发布我的https://stackoverflow.com/q/66083431/15160716之前,它是我在谷歌上的最高成绩之一,所以我决定把我的发现也记录在这里。

在尝试使用jlink for Java11创建运行时映像时,也遇到了同样的问题。问题归结为错误地引用了目标JDK的jmods文件夹,这意味着JDK的模块没有在模块路径中找到。然后,jlink默认将主机JDK的模块文件(以及相应的二进制文件、库等)包含在生成的运行时映像中。通过正确引用目标JDK的jmods目录,生成的运行时映像包含特定于平台的可执行文件和附带的文件。

这是通过为Windows、Linux和MacOS创建运行时映像在Windows机器上进行测试的。

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

https://stackoverflow.com/questions/37210288

复制
相关文章

相似问题

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