精简JRE
原文
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导致最后功亏一篑。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」