发布程序时为了避免强制用户安装java的jre环境,我找到了制作一个精简版JRE的方法。主要分为两步:
A. 根据自己的程序精简 rt.jar 这个文件。
在官网http://code.google.com/p/greenvm/上下载greenjvm工具,解压后在其子目录greenjvm_make的make.bat批处理文件进行配置,这是一个rt.jar精简工具,用于动态截取我们应用中使用到的rt.jar下class,并仅将使用到的class重新组成rt.jar。
示例 : java -jar GreenJVMMake.jar -t da -i ./AVGSimple.jar -o ./
-t 精简的应用类型,DA为桌面应用,CA为命令行应用
-i 我们的执行文件所在路径
-o 精简后的rt.jar输出目录
B. 精简其它部分,这部分主要是多次测试了,边删除可疑的东西边测试自己的程序以确保删除的都是无用的。
这部分操作对个人的经验依赖比较大,不要着急,慢慢来,呵呵。这里给出几个参考地址:
http://blog.csdn.net/cping1982/archive/2008/09/14/2892844.aspx
http://blog.csdn.net/cping1982/archive/2008/08/21/2806598.aspx
另外,这两个网站也不错:
http://yaojialing.iteye.com/blog/1067409
http://blog.csdn.net/nsrainbow/article/details/2333206
忠告:greenjvm工具是为简化精简jre过程而产生的,其原理依赖了于java的debug功能,在运行时搜寻使用到的类,精简后的结果一般在本机可以正常运行;但如需使用第三方软件,如exe4j,或环境移植等方面的考虑时,可能会出现因缺少部分依赖文件或类的错误,尤其是在商业应用时需要慎重,在未经过慎重考虑和测试前建议使用官方JRE,以避免不可预知的异常情况。