精简JRE

发布时间 2023-11-11 16:59:40作者: zxddesk

 

原文

https://blog.csdn.net/qq_34407846/article/details/90581685

 

 

由于开发windows下的exe需要依赖java环境,java运行环境即jre如果是没裁剪的话很大有100M多,大部分的class和dll都用不到,所以发布windows下的项目裁剪jre是很必要的、

之所以没有一个统一的精简的jre是因为每个应用的依赖的class都不一样。

下面呢我们就来裁剪jre

思路:

①.保留bin和lib目录,其余的都删掉

②.bin在运行exe文件时删除bin下所有文件、不能删的会提示你、

③.精简rt.jar这个就占了整个jre的一半精简它是很有必要的、

工具 :

360解压缩工具,和cutjre.exe工具

工具下载:http://download.csdn.net/detail/pzhtpf/3878285

裁剪

1.裁剪lib:

注意环境不能有其他的jre,或者环境变量里面注册的jre,最好是到虚拟机没有jre环境下执行

运行exe文件,选中bin下面的所有文件,并删除、注意保留java.exe

剩下的文件如下图所示:

然后client里面的只留下了jvm.dll,

这样bin目录就少了一大半,只剩下3.8M

2.裁剪lib目录

裁剪lib目录就要使用工具了、通过菜单找到jar包

然后会生成很多目录包括

java , javax, sun ,jdk  

可以试着把这些目录去替换jre中rt.jar中对应的目录(用360解压缩工具打开)

删掉其他的只留这些,其实还有个com目录你可以试着删除一下,我删了没影响。

然后用软件生成的对应的目录去替换这里对应的目录,不嫩替换就就打开该目录挨着挨着删、

只到打开程序报错、就恢复删除的文件、循环一直重复、

这样精简下来就5M多

3.然后是lib下其它目录

也是挨着删,每次删除都打开exe看能否执行、重复操作。

最后就完成了精简jre的目的、最后文件就17M多点、

 

特别注意:由于exe打包工具的原因jar文件能运行的jre环境,exe不一定能运行,所以我们应该用exe来测试,每次删除文件就测试exe的所有功能是否正常。而且不要用bat来测试,因为bat的运行目录不一样导致bat会使用windows环境变量的jre导致最后功亏一篑。