对于Java桌面应用来说,比较烦琐的就是安装部署问题,如:客户端是否安装有jre、jre版本、jre在哪里下载、如何用jre启动Java应用等等。不要说刚接触电脑的人,就算是比较熟悉电脑,如果没有接触过Java,面对一个Java应用,如何在Windows下启动它,估计都会折腾半天。所以这个是导致Java桌面应用被一些人所讨厌的最大原因,Java的优势是“一次编写,随处运行”,跨平台特性确实很好,但并不是每个人都需要跨平台,而且有时候JVM平台或版本问题也会造成“一次编写,到处测试”的尴尬。对于固定平台下的Jav a应用,最好的方式莫过于带着JRE,让用户轻松点击就能运行。下面我们来解决这样的问题。
针对windows平台,主要方法是:先将JRE进行精简,再使用工具exe4j 来解决双击运行使用的问题,最后用Inno Setup打包成安装程序, 这样一来,我们的Java应用就和普通的windows应用程序一样了。
相关软件下载
本教程示例程序
www.uushare/user/javapro/file/1418316
exe4j 4.2 注册版
www.uushare/user/javapro/file/1418327
Inno Setup 增强版 + ISTool + 反编译套装 + ISFD界面设计
www.uushare/user/javapro/file/1418305
一、精简JRE
JRE6默认安装大小大约90M,而一般程序只有几M甚至几百K,带JRE运行,感觉非常不合理,分发与网络传输过程也会大受影响。关于JRE的精简参照下面几篇相关文章:
Java程序发布之jre篇
www.blogjava/gdws/archive/2006/12/25/89898.html
如何制作最小的RCP程序压缩包(包含JRE)java安装完整教程
/bbs/read-cec-tid-5777.html
让Java程序带上精简的jre(附工具)
glemir.xplore/archives/200
JRE极限精简探求手册[1]——精简一个Swing的即时战略游戏
cping1982.blog.51cto/601635/129630
Java应用——精简JRE体积的小工具
blog.csdn/cping1982/archive/2008/09/02/2865198.aspx
JVM rt.jar 精简工具图形外壳 0.1
www.blogjava/beansoft/archive/2008/12/19/247321.html
可以运行 RCP/Swing 的迷你JRE 6(3.75MB)
www.blogjava/beansoft/archive/2008/01/18/176353.html
可以运行SWT的精简版JRE 1.4.2_04, 压缩后仅1.3MB
www.blogjava/beansoft/archive/2007/03/07/102381.html
总得来说JRE精简是一个比较复杂的工作,如果不清楚某部分的功能不要轻易进行删减,否则可能产生一些未知的错误。pack200压缩工具在对某些重新打包过的rt.jar文件压缩时会产生错误,如果使用的话一定要注意控制台的输出信息。
二、使用exe4j生成exe可执行文件
下面是我的一个完整Java示例程序 —— TestProcessBar。可以看到示例程序已经附带了jre , 下面先使用exe4j给它制作一个exe可执行文件(即图中的 e),并指定我们自带的jre 。
以下是exe4j的启动界面,点击Next开始创建配置文件。
接着选择要创建的exe文件类型,在这里我们选择第一个,这样其实是为程序创建一个可以双击运行的启动器,可以保证程序仍具有跨平台的特性。如果选择第二个,可以把程序完全编译成exe文件,可以
更好的保护你的程序不被反编译。
接下来设置程序的短文件名,源文件夹路径(可以使用exe4j工程文件的相对路径。这里我的exe4j文件保存在launcher目录下,所以使用的源路径为[..],即上一级目录),以及要生成的exe文件的存放目录,exe存放目录相对路径为源文件夹,这里我把它指定为当前源文件夹。
接下来,可以给我们即将生成的exe文件起一个名字,如我的“”,还可以给它指定一个ico类型的图标,其它按默认就可以了,如图:

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。