java+swing打包jar转成exe并动态绑定jre再打包成安装文件.docx
- 文档编号:3538708
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:13
- 大小:505.63KB
java+swing打包jar转成exe并动态绑定jre再打包成安装文件.docx
《java+swing打包jar转成exe并动态绑定jre再打包成安装文件.docx》由会员分享,可在线阅读,更多相关《java+swing打包jar转成exe并动态绑定jre再打包成安装文件.docx(13页珍藏版)》请在冰豆网上搜索。
java+swing打包jar转成exe并动态绑定jre再打包成安装文件
java打包jar成exe并动态绑定jre再打包成安装檔
注:
以下所有步骤的前提是,把jar文件,ico图示(pngImage文件夹),第三方jar包(lib活页夹),jre活页夹,放到同一个活页夹中。
本例放在exe4jInstall4jInnosetup活页夹下,如图0
如图0
首先,我们选用exe4j把jar执行文件转成exe文件
exe4j.exe下载地址:
http:
//www.ej-
程序安装不在赘述:
它要求系统有1.5版本以上的JDK,点Download在线下载,如果你的机器上有JDK,点Locate找到你机器上已安装的JDK目录下/bin/java.exe就可以进行安装了。
下面就使用exe4j转换jar为exe的过程详细说明一下:
第1步,默认即可。
直接下一步
第2步,如果已经有制作好的jar檔,则下面一个"JARinEXE"。
对于打包jar檔,在eclipse中右击项目选导出即可,不会制作jar檔可以给我留言
如图1
第3步,上面是项目名称,可随便填写,下面一个写出你想要将打包后的exe文件输出的目录:
如图2
第4步,由于我的演示程序是图形的,所以选第一个,如果你的程序是控制台的,则选择第二个,Executablename写你将要生成的exe檔的名字,IconFile可以选择生成文件的图示
如图3
第5步,首先,单击绿色的"+"号,在弹出的窗口中点Archive,然后找到起初已经做好的jar檔,如图4,"OK"后返回,在下面的ClassPath里就出现jar文件路径后,再在上面MainClass栏内点击找到main所在的类,如图5,这一步即算完成:
如图4
如图5
第6步,一般的应该程序都要带第三方jar檔,同步骤5一样即可,结果如图6.
如图6
第7步,你系统的JRE版本,上面填个1.5,下面不填也行,如图7:
如图7
当然,这样配置的程序只能在安装有JRE的机器上执行,发布时总要考虑的问题就是用户是否有能力在自己机器上安装JRE,总不能发布一个程序还要用户自己安装个JRE吧,下面我就介绍如何将JDK环境变量动态打包到exe中,在这里单击advancedoptions(图7中有,如图8),选择searchsequence。
如图:
如图8
在弹出的窗口中,删除列表中所有项,然后单击绿+,选择directory并选择JRE的根目录(注意是拷贝后的目录)即可,(此步注意,选到jre6檔夹即可),如图9
如图9
点打开,结果如图10
如图10
单击ok后,再从图中单击advancedoptions,并选择preferredVM,在弹出的窗口中选择clienthostspotVM(如图11),单击next按钮继续:
如图11
第8步:
配置splashscreen即exe运行时的过渡接口图,设置如图12
如图12
第9步,直接下一步即可,设置如图13
如图13
第10步,编辑完成
点击
即可生成exe檔(注意输出目标文件夹中不要有相同的目标exe文件)
注:
exe4j未注册的版本可以在网上随便找个激活码。
java.exe依照一套逻辑来寻找可以用的JRE,首先查找自己所在的目录下有没有JRE,其次查找自己的父目录下有没有JRE;最后才是查询Windows的注册表。
现在我们的程序可以在任意的计算机上执行了,可是缺点是致命的,比方说我的程序才160K,可是不论走到哪里都要背着70多M的JRE,未免有点小题大做吧,其实作为我们的私有的JRE,好多内容都是可以抛弃的。
Jre目录下的license都可以不要,bin下的执行档只需要保留java.exe或者javaw.exe,lib下只要保留rt,jsse,jce,charsets几个库就可以了。
除了i386和zi两个子目录外,其余的子目录都可以不要。
Zi下只需要保留自己地区的子目录和其下的一些檔就可以。
Lib下除了库之外的属性文件等等都要保留。
这样清理一番,JRE仍然有接近50MB。
还可以继续清理几个库檔里面不需要的内容,这需要仔细的整理,会很费功夫。
最好能写出一个自动工具帮助我们整理它们。
从Sun公司上下到的JMF里面附带的用Java写的媒体播放器就自带了JRE,只有几个MB。
清理过后需要运行几遍我们的应用程序,以确保我们的JRE不缺少东西。
另外,精简jre的方法网上很多,下面找了一个,大家可以参考。
(此处转载的)
整个HtmlFrame2\jre6未压缩前,大约是100M左右,如果把它也放进安排包,那么整个安排包的体积将会很惊人,下面对jre进行精简。
进入jre6目录,jre6目录内,除了bin和lib两个文件夹外,其它所有文件都可以删除;
进入jre6\bin,随便删除一个文件,双击HtmlFrame.exe,如果能运行,那么这个文件就是可以删除的,如果不能运行,就把这个文件还原回去。
通过这个方法清理后bin和lib里面的文件,体积大概能减一半。
进入jre6\lib,你会发现rt.jar这个文件,大概40M,这是Java基础类库文件,里面有几千个.class类文件,但其实许多.class在程序里并未使用。
先用WinRar解压rt.jar,随便删除rt文件夹里面的文件,再用WinRar把rt文件夹内的其它文件压缩成一个zip格式文件,把zip后缀改成jar,放回jre6\lib中,双击HtmlFrame.exe,如果能运行,则是可以删除,不能运行,就把类还原回去,再重复上边的操作。
这个方法精简jre会比较累,不过这是我目前找到的最有用方法了。
关于精简rt.jar的方法,网上也有一些工具如:
GreenJVM等,可以直接精简rt.jar,可以把rt.jar体积减少到3M左右。
不过本人用这些工具精简出来rt.jar未试过可以运行,估计是漏掉一些class。
另外可以在dos下使用命令:
java-jar-verbose:
classHtmlFrame.jar>>class.txt把用到的class输出一个txt文件中,再对比进行删除。
网上也有人提供一些精简过的jre,需要的,可以自己上网找下。
其次:
用InnoSetup把exe文件和jre打包成安装文件(此处转载的)
一.使用innosetup把整个HtmlFrame程序制作成setup.exe安排包。
innosetup是一个免费的、使用非常简单的安排包制作工具,本篇文章使用的是innosetup简体中文版本。
有兴趣的,也可以使用其它安装包制作工具。
随便提一下另一个专门针对java程序的安装包工具install4j,假如在步骤2中没有给程序指定jre,install4j可以为程序绑定一个jre到安排包中。
本篇使用的innosetup简体中文版本。
启动innosetup,选择文件→新建,
第1步,innosetup的脚本欢迎向导
第2步,配置应用程序基本信息
第3步,应用程序文件夹信息
第4步,选择应用程序文件,主执行文件选择HtmlFrame.exe;其它应用文件需要把这个程序的相关资源文件和jre也添加进去,我这里所有相关的文件都放进HtmlFrame2文件夹内,因些直接“添加文件夹”选择HtmlFrame2,"其它应用程序文件"列表内所有的文件都将会被打包到setup.exe文件内。
第5步,设置应用程序图标
第6步,设置安装期间相关的显示文件
第7步,安装语言
第8步,编译输出文件名指安装包的文件名,如输入setup,生成的安装包将为setup.exe;编译输出文件夹指生成的安装包setup.exe的路径;安装程序图标文件指安装包setup.exe的文件图标;
之后的直接点“下一步”,在出现立即编译新的脚本提示时,点击“确定”进行编译。
编译完成后将会在“编译输出文件夹”生成一个setup.exe文件。
整个安排包的制作过程到此已经完成,现在可以把setup.exe发给其它人安装使用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java swing 打包 jar 转成 exe 动态 绑定 jre 再打 安装 文件