裁剪JRE和遇到的坑、

绪论:

由于开发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导致最后功亏一篑。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
精简jre步骤 1. 拷贝一个完整版的jre文件夹到D盘 2. 删除jre目录下所有出bin和lib目录的所有文件或目录 3. 打开cmd窗口,设置path路径为空,转到D:\jre\bin目录,运行java –version。正常显示当前Java的版本。 4. 在bin目录中新建一个temp目录,将除java.exe和java.dll外的移到temp目录中 5. 再次运行java –version命令,提示没找到verify.dll。将temp目录中的verify.dll移到bin目录中 6. 再次运行 java –version命令,提示:Could not create the Java virtual machine.错误 7. 根据测试:还要将hpi.dll和zip.dll放到bin目录中 8. 再次运行java –version命令,OK,又出现了版本信息。此时,可以将temp目录移出bin目录中。(放到桌面先) 9. 删除client目录中的除jvm.dll外的文件。转到jre目录,查看bin目录的大小,为2.89MB。但此时lib目录仍有60M有余 10. 转到lib目录,新建一个temp目录,将i386除外的目录都移动到temp目录中,再次运行java –version命令,OK 11. 再新建一个temp2目录,将charsets.jar和rt.jar外的所有文件移动到temp2目录中,再次运行 Java –version命令,OK 12. 将temp2和temp目录移到桌面。此时lib仍有48.7M接近50M。(还得努力) 13. 缩减charsets.jar和rt.jar(使用7z工具可以查看和修改jar文件的内容『直接添加和删除』)。准备做个软件来实现。 14. 缩减原则。运行java -verbose:class -version > temp.java 命令,此时在bin目录下生成了一个temp.java文件,用EditPlus打开,看到没有,要加载的就是那些类了,把不需要的全部删除就是了。 15. 原来charsets.jar没有加载呀。直接删除,再次运行java –version命令,OK 16. 接下来的工作就是裁剪rt.jar了。慢慢来。也可以做个软件来完成。可以下载一个GreenJVMMake.jar来完成。不过有时候好像有些类没加载到。要考虑更新了。 17. 裁剪玩rt.jar后,再次运行java –version ,出现了版本信息。OK 18. 转到D盘查看一下精简的jre才4.47MB。不到5M。OK 19. 最小的jre制作完毕。 附带制作过程图片,可用Picasa来查看,播放模式效果更佳。 Thoams 2010-6-25 15:53
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值