导语
Java9及以后的版本引入了模块化特性,但是直到今天JDK21都发布了,依然没有被大量使用起来,那么这个特性就真的没啥意义了吗?
别忘了,Java本身可是把模块化做到了极致的,所以可以利用这个特性对JRE本身进行定制化或者精简化。
由于平时偶尔会开发一些Java的客户端应用,这时精简JRE的需求就凸显出来,让自己的程序带着最精简的JRE到处运行。
实际实践了一段时间之后发现“真香!”
现在把“利用Java模块化精简JRE”的方法和经验分享给大家。
案例项目
这是我的一个个人开源项目:MooInfo
项目地址:https://github.com/rememberber/MooInfo
项目结构如下:

一、找出项目依赖的模块
1、maven编译,打包项目,打包依赖jar到libs

2、使用新版JDK自带的jdeps找出依赖的模块
上命令:
C:\Users\zhoubo9\.jdks\corretto-17.0.8.1\bin\jdeps -q --multi-release 17 --ignore-missing-deps --print-module-d

本文介绍了如何在Java9及以上版本中利用模块化特性精简JRE,通过实际项目MooInfo展示了如何找出依赖模块并使用jlink创建自定义JRE,精简后的JRE可显著减小客户端应用的体积。
最低0.47元/天 解锁文章
2255

被折叠的 条评论
为什么被折叠?



