说明
网上大多数方案都是执行如下命令
jlink --module-path jmods --add-modules java.desktop --output jre
但是这样生成出来的 JRE
在实际使用过程中会有很多模块缺失导致运行失败的问题原因在于,JDK 11+ 后已经进行了模块化,使用时按需添加模块,但真实情况时你不知道你会用到哪些模块,所以不如一次添加完全。
下载JDK
要创建 JRE
首先需要下载对应版本的 JDK
,OpenJDK
各版本下载地址:JDK Archive
创建 JRE
- 解压下载的JDK并用命令行进入该目录
- 为了方便,我这里直接进入到了
jdk
目录下的bin
目录 - 执行如下命令,可生成
jre
文件夹
# --output 指定输出目录
# --add-modules 添加模块,后面的模块可根据实际使用情况进行调整
jlink --output ./jre --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.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
评论区