将java程序打包成可执行exe文件,告别100多M的jre,精简小程序

文章开头说明:检测java类的程序是来自于一位程序员的分享
附上链接地址:此程序为检测出你的java程序完整跑起来需要哪些java类,这个程序是32位的,只支持32位的jre,点击下载

前沿 前段时间有不少学习java编程的同学说自己想做个小程序发给其他朋友玩玩,但是不可能让朋友电脑也装上上百兆的JDK吧,有时候做个一两兆的东西,绑个jre就上百兆,很是影响体验,怎样能最小化精简你的程序呢?JAVA程序离开JRE没法运行的,其实说白了就是将你环境里的JRE打包到程序里面去,我们要做的主要工作就是删除掉没有用的CLSS,下面我们直接上干货!
_ Tips: 1:eclipse,exe4j,jdk 三者必须保持一致,统一为64位或者32位,不然会有未知错误和不必要的麻烦强烈2:建议看完所有步骤搞明白流程后再操作,前后连贯性比较大,一步不能有差错_

做一个随处都可以运行的JAVA程序

  1. 一份编写完成的java代码,在控制台可运行无错误,将该程序打包成可执行jar 包,用bat运行看是否可以执行``` java -jar 你的程序名称.jar
    pause
(这里加上pause的原因是,后期你删除class可能删除过多导致报错闪退)
2. 创建一个新文件夹a,将环境中JAVA_HOME中的路径中的jre拷贝进去,你**可执行jar 包**放进去,打开精简JRE工具文件夹,里面的cutJre.exe也是java程序,需要jre才能运行
3. 打开[exe4j(将java的JAR转换成EXE格式的,不清楚的可以点击)](http://www.pc6.com/softview/SoftView_68764.html),将文件夹里的jar包,制作成exe格式,在exe4j里面的jre就选用文件夹a里的jre(**_!!!这步很关键,拷进去的jre,不用JAVA_HOME里的,这也是别人电脑没有配置java环境能运行的原因!!!_**),点击可运行不报错,打开cutJre.exe精简工具,导入jar包,然后会有黑框弹出,不要关掉,然后你**从头到位运行一下你的xxx.exe运行程序,包括异常涉及到的所有场景**,然后你就会看到生成class.text文件,这里面就是你这个程序所用到的java类,然后跑完了之后再点击生成精简的jre,很慢,慢慢等待,精简完后cutJre文件夹中会多出几个文件夹,一般情况下是sun,java,javax,com这几个文件夹
4. 然后你打开你JAVA_HOME目录下的jre里面的lib,我的目录是C:\Program Files (x86)\Java\jdk1.7.0_79\jre\lib,里面的rt.jar,用360压缩打开,将cutJre.exe生成的几个文件夹替换到对应的目录下,此时你环境的jre已经是删了好多的了(不过第2步已备份),jre\bin\client里面的 classes.jsa蛮大的,可以删除
5. 运行第一步的bat,跑你自己的程序,出错黑框就会显示差什么class,你就从第一步备份的jre拷过去就好了,不断的删除,再不断的执行bat,除了rt.jar,其余的很多东西和jar包都可以删除,自己慢慢删,慢慢调试吧。。我自己写的一个程序,最后jre被我压缩到5M了。。多次执行试试看
6. 压缩到你认为可以了,就把这个jre复制出来吧,和第三步生成的exe,放在一个文件夹c里,双击exe,可以直接运行的,这个文件夹也是你最后程序的成品,但是别忘了,把第一步备份的jre还粘到JAVA_HOME下的jre去,估计被你删的不成样子了。。
7. 程序发布,用到[Inno Setup打包安装工具,链接自己下,我这边也提供一个](http://blog.sina.com.cn/s/blog_64e467d60100q38d.html),还有程序有自己的log,用到[ico图标制作](http://www.faviconico.org/),这个东西就不细说了。。不会用自己百度吧,全部完成后,就是一个安装包了,赶快去没有java环境的电脑上试试吧(可以把自己的JAVA_HOME删了)

### 纯手打,也是自己的一个学习流程,可能比较啰嗦。。希望大牛不要取笑,有错误希望大神及时指出来,大家一起交流学习。感谢!!!!

转载于:https://my.oschina.net/tjweb/blog/806539

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值