记录-JDK9及以上版本生成jre

  1、进入jdk文件目录,在目录下执行命令获取当前jdk具有的模块

bin\java --list-modules

  2、将上面命令得到的结果使用英文逗号 , 分隔组成模块字符串,并将模块字符串中的“@版本号”删除,例如“java.base@17.0.4.1”删除后为“java.base”

  3、将步骤2得到的字符串,加入到新命令中并执行,执行完毕将得到对应版本的jre

bin\jlink --module-path jmods --add-modules <模块字符串> --output jre

例如我的jdk17生成jre的命令:

bin\jlink --module-path jmods --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.attach,jdk.charsets,jdk.compiler,jdk.crypto.cryptoki,jdk.crypto.ec,jdk.crypto.mscapi,jdk.dynalink,jdk.editpad,jdk.hotspot.agent,jdk.httpserver,jdk.incubator.foreign,jdk.incubator.vector,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.jpackage,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.nio.mapmode,jdk.random,jdk.sctp,jdk.security.auth,jdk.security.jgss,jdk.unsupported,jdk.unsupported.desktop,jdk.xml.dom,jdk.zipfs --output jre

 

 注:以上生成的是所有模块,jdk支持按需生成的JRE,具体操作,可以参考文档:Java OpenJDK使用jlink生成创建JRE Runtime

posted @ 2022-10-26 15:18  思无  阅读(403)  评论(1编辑  收藏  举报