jdk11使用jlink定制精简jre

jdk11使用jlink定制精简jre

jdk11是模块化设计,不再包含jre,而是按需生成,需要哪个模块,就将哪个模块打包成jre,而不需要引入无关紧要的其他模块,可以大幅缩小jre体积。

打开jdk11包路径,

在bin目录下可以看到jlink.exe文件,我们将使用这个工具;再打开jmods文件夹,可以看到许多的以jmod为结尾的文件,其实jmod文件就是一个压缩包,可以使用加压缩文件打开,里面包含了class文件和其他文件。

其中java.base.jmod是最基本的模块,不依赖于其他任何模块,而其它模块都依赖于java.base模块。java.base包含了基本的java.lang.Object,java.lang.String等类。

具体的模块化设计可以看官方文档:
http://openjdk.java.net/jeps/200

我们使用上一篇的文章创建的项目,来定制我们的jre,上一篇中没有使用其他模块,所以我们只要包含java.base模块即可。
使用 jdk11 + maven 开发 JavaFX
jdk11 + maven 打包JavaFX11

命令如下:./bin/jlink.exe --module-path jmods --add-modules java.base --output minijre

然后就可以在jdk根目录下看到生成的minijre文件夹,我这里生成之后只有39.4MB大小,可以说是非常小了,使用7z压缩一下,只有9MB多一点。

到此,我们的定制jre就做好了,非常的精简,下一篇,我们就使用这个定制的jre来打包我们之前写的项目,将它打包成可以随意供别人安装的exe文件。
下一篇:jdk11订制jre + JavaFX11打包exe可执行程序

欢迎对Java,JavaFX感兴趣的小伙伴,可以加入群QQ623110424,共同学习,共同进步。

你可能感兴趣的:(java,java,jdk,jre)