从 OpenJDK Windows 创建 jre

新手上路,请多包涵

我们正在从 Oracle JDK/JRE 切换到 OpenJDK。现在我只找到了 JDK,但我还想从 OpenJDK 获得一个 JRE。这是为了在客户端上安装我们的应用程序而不需要完整的 JDK。

有没有办法从适用于 Windows X64 的 OpenJDK 创建 JRE 包?

原文由 JimmyD 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

受文章 使用 jlink 为非模块化应用程序构建 Java 运行时的 启发,我使用了以下命令:

  1. java --list-modules 获取所有可用 openjdk 模块的列表
  2. jlink --no-header-files --no-man-pages --compress=2 --add-modules <module-list from step 1> --output java-runtime 创建一个紧凑的jre。

对于 OpendJDK 12,这是我最终得到的命令:

jlink --no-header-files --no-man-pages --compress=2 --add-modules java.base,java.compiler,java.datatransfer,java.desktop,java.instrument,java.logging,java.management,java.management.rmi,java.naming,java.net.http,java.prefs,java.rmi,java.scripting,java.se,java.security.jgss,java.security.sasl,java.smartcardio,java.sql,java.sql.rowset,java.transaction.xa,java.xml,java.xml.crypto,jdk.accessibility,jdk.aot,jdk.attach,jdk.charsets,jdk.compiler,jdk.crypto.cryptoki,jdk.crypto.ec,jdk.crypto.mscapi,jdk.dynalink,jdk.editpad,jdk.hotspot.agent,jdk.httpserver,jdk.internal.ed,jdk.internal.jvmstat,jdk.internal.le,jdk.internal.opt,jdk.internal.vm.ci,jdk.internal.vm.compiler,jdk.internal.vm.compiler.management,jdk.jartool,jdk.javadoc,jdk.jcmd,jdk.jconsole,jdk.jdeps,jdk.jdi,jdk.jdwp.agent,jdk.jfr,jdk.jlink,jdk.jshell,jdk.jsobject,jdk.jstatd,jdk.localedata,jdk.management,jdk.management.agent,jdk.management.jfr,jdk.naming.dns,jdk.naming.rmi,jdk.net,jdk.pack,jdk.rmic,jdk.scripting.nashorn,jdk.scripting.nashorn.shell,jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.unsupported,jdk.unsupported.desktop,jdk.xml.dom,jdk.zipfs --output java-runtime

原文由 SteinarH 发布,翻译遵循 CC BY-SA 4.0 许可协议

正如其他人所提到的,自 Java 9 以来,不再有单独的 JRE 与 JDK 一起分发。您将需要使用 jlink 并指定您的代码所依赖的模块以生成自定义 jre。

因为这可能很麻烦,所以我创建了一个基于 Web 的工具,以便更轻松地使用 jlink .该工具将为您提供正确的 jlink 命令以根据您的需要运行。

我还提供了一种为那些只想要基本的轻量级 (~40-60 MB) JRE 的人制作标准 Java SE JRE 的方法。如果您知道如何使用终端,那么只需不到 2 分钟的时间就可以为 JDK 9 及更高版本创建一个通用的 JRE。

在这里试一试 - EasyJRE: https ://justinmahar.github.io/easyjre/

原文由 Justin 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题