Java桌面应用安装部署安装程序制作.docx
《Java桌面应用安装部署安装程序制作.docx》由会员分享,可在线阅读,更多相关《Java桌面应用安装部署安装程序制作.docx(26页珍藏版)》请在冰豆网上搜索。
Java桌面应用安装部署安装程序制作
(转)Java桌面应用安装部署、安装程序制作
以前都是用JAVA做WEB应用,完成后直接部署到应用服务器就OK了,这次做个桌面应用,完成后发现安装部署是个问题。
在开发和测试的时候可以通过MyEclipse等集成环境运行,也可通过JAVA命令来运行。
但是发布给用户后,用户不可能通过这两种方法运行程序,即使打包为可运行的JAR,也是需要JRE的支持,运行环境是个比较头疼的事情。
看来还是要想办法将应用和JRE一起打包为Windows用户熟悉的安装程序发布给用户,用户只需要一次安装就可以将JRE环境和应用一起安装到系统中,使得不需要考虑客户端是否安装有JRE、JRE的版本是否符合要求、如果没有安装需要去哪下载、如何用JRE启动Java应用等一系列对用户来说非常陌生的东西。
对于作Java桌面应用来说,比较烦人的就是安装部署问题,客户端是否安装有jre、jre版本问题、jre去哪下载、如何用jre启动你的Java应用?
不要说刚接触电脑的人,就算是比较熟悉电脑,如果没有接触过Java,面对一个Java应用,如何在Windows下启动它,估计都会折腾半天。
这些原因是导致Java桌面应用被一些人(包括我)所讨厌的最大原因,Java的优势是“一次编写,随处运行”,跨平台特性确实很好,但并不是每个人都需要或都想要跨平台,而且有时候JVM平台或版本问题也会造成“一次编写,到处测试”的尴尬。
这次只是写一个备份的工具,再加上用户对桌面应用比较容易接受,需求要使用JAVA桌面应用,没办法,还是求助于XX大神。
通过强大的网络,还是找到了一个很好的解决方案:
exe4j+InnoSetup,exe4j用来将JAR制作成为Windows的可执行文件exe,InnoSetup是个安装包制作软件,将exe文件和依赖的Lib、JRE等打包成一个标准的安装文件。
其实installshield等也可以完成这个工作,但是其复杂的操作使得我望而却步,还是InnoSetup操作简单,只需要通过向导即可完美的实现大部分的需求。
exe4j和InnoSetup两个工具都可以在网上找到,使用起来都很容易。
第一步:
使用MyEclipse将应用制作成可执行的JAR包
注:
我使用的MyEclipse版本是8.5,不同版本可能稍有差异。
使用MyEclipse的“Export” (导出)功能就可以了()。
在应用在点击右键,选择“Export“。
接下来,选择导出类型为RunnableJARfile后,Next:
选择应用运行启动类,以及导出的目标路径和JAR文件名,可通过点击“Brows...“按钮选择路径。
点击”Finish“完成JAR文件的导出。
第二步:
使用exe4j生成EXE可执行文件
注:
我使用的exe4j版本是4.4.1,不同版本可能稍有差异。
因为希望软件在运行的时候是使用我们提供的JRE,而不是操作系统安装的,所以首先需要将JRE拷贝一份至应用目录(和上一步打包好的JAR文件放大一起),我的应用完成后如下:
运行exe4j,以下是exe4j的启动界面,点击”NEXT“开始创建配置文件。
接着选择类型:
选择“Regularmode",可以使程序仍具有跨平台的特性。
选择”JARinEXE“,可以把程序完全编译成exe文件,可以更好的保护你的程序不被反编译。
选择任何一种都可以达到我们的需求,选择后,NEXT。
接下来设置你的程序的短文件名,源文件夹路径(如我的:
E:
\ArchiveBackup),以及要生成的exe文件的存放目录,exe存放目录必须指定到源文件夹下,这里我把它指定为E:
\ArchiveBackup的根目录下。
接下来,给即将生成的exe文件起一个名字,还可以给它指定一个ico类型的图标,其它按默认就可以了
接下来,需要把程序中所用到的类路径添加上去,先添加生成的JAR文件,如果还有相应lib,也需要添加。
然后指定程序的启动类,其它如果没有必要的话,则按默认即可,点击+号添加类路径。
基本上所需要用到的Jar文件都要添加上去,可以逐个添加,也可以添加整个文件夹或者使用系统环境变量(为了使程序能够随处运行,还是强列建议你使用相对路径,并且不要使用环境变量)。
添加好类路径之后选择应用的"MainClass"即可。
完成后NEXT。
接下来,先输入应用程序所需要JRE的最低版本和最高版本。
然后选择我们自带的JRE,这一步不是必须,但是为了更好的分发程序,需要把我们自带的JRE指定为首选的运行环境:
如图选择”Searchsequence“
默认搜索JRE的顺序是Windows注册表设置,JAVA_HOME设置,JDK_HOME设置。
我们要使用自带的JRE,所以将默认的选项全部移除。
之后点击”+“号添加我们自己的JRE。
这里还是建议使用相对的目录路径:
选择我们自带的JRE目录:
添加完成后,显示的是相对路径(如下图),之后NEXT
选择首选的JVM,一般使用默认就可以了,如有特殊要求,请选择想用选项。
NEXT
接下来,是为程序添加启动画面,根据自己需要进行。
NEXT
展示我们前边所作的设置信息,NEXT
开始使用我们的设置将JAR编译为EXE
完成后,点击”ClickHeretoStarttheApplication“试运行编译成EXE后的应用,点击”Exit“完成退出。
至此,我们看到应用目录中已经成功生成了EXE文件。
可以尝试运行它,如果能够正确运行,说明制作成功。
第三步:
使用InnoSetup制作安装包
注:
我使用的InnoSetup版本是5.4.2汉化版,不同版本可能稍有差异。
运行InnoSetup编译器,并使用脚本向导创建安装程序的脚本文件。
点击”开始“
输入应用程序名称、版本等信息。
下一步。
设置应用程序安装是的目标路径信息,可以采用默认不予修改,如果不希望安装后的文件夹是中文的,将”应用程序文件夹名称“改为自己希望的。
下一步
将上一步编译好的EXE选择为应用程序主执行文件,并将整个应用的目录通过”添加文件夹“按钮添加到”其它应用程序文件“中。
下一步
设置应用安装后开始菜单,创建桌面图标等等信息。
下一步
设置应用程序的相关文档,如果有就选择上,没有可以不选。
下一步
设置安装语言,我们采用简体中文,如果希望安装程序是用多语言的,可以多选几个。
下一步
设置编译后生产的安装文件存放的文件夹、安装文件的文件名、安装文件的图标等信息。
下一步
这步应该是用一个内置的预处理器简化脚本,使得脚本更易读(应该是这意思,没研究)。
下一步
点击”完成“完成脚本的创建。
点击”完成“之后,生成脚本,并弹出是否要立即编译新的脚本吗的提示,如果我们设置的没有问题,可以选择立即编译。
选择”是“之后,提示保存脚本文件,将脚本文件保存到磁盘。
开始进行脚本的编译。
完成后的生成的安装文件位于之前选择的路径,如果之前未选择编译器输出文件夹,则安装文件会生成在最后一个分区的”Output”目录。
我的是这样,也不知道对不对,如果找不到生成的安装文件,在菜单中选择“构建/打开输出文件夹”即可。
至此,安装程序制作完成,可以将此安装文件分发给用户安装即可,不管用户机器上是否有JRE都可成功运行。
絮絮叨叨说了半天,其实操作起来挺简单,几分钟就可以搞定。