经过一番折腾终于成功将java源代码打包为jar包,再转换为exe执行文件,再转换为安装包。在这里记录下我的过程。
需要用到的软件:exe4j,Inno setup。
一、将源代码导出为jar文件
1、右键单机想要导为jar文件的工程,选择Export。
2、选择Runable JAR file,可运行的jar文件
3、Launch configuration:选择应用程序的主入口窗口;
Export destination:导出jar保存的路径;
Library handling:导出文件的方式,选择第一个和第二个都行,选第一个可以防止程序被反编译,
选第二个可以保留原有的文件结构。
4、Finish 成功导出jar文件,但是我们还需要验证导出的jar文件是否可以运行。用cmd,cd到jar所在的路径,执行java -jar Client.jar,若程序成功运行,说明jar文件导出完全成功。
5、若程序中有资源文件(图片等),需要把工程下的包含资源的文件全部放在jar文件所在的目录即可。
二、将jar文件转换为exe可执行文件
1、准备工作,java编写的程序都需要运行环境jre,若想程序在其他没有运行环境的电脑则必须需要jre。jre路径在jdk的安装路径下,在java目录中。将jre也复制到jar文件所在的目录。
2、正式开始,我们需要用到exe4j,看到下面这幅图代表成功进入了exe4j,红色标注的地方LicenseInformation 代表注册信息,在网上随便搜索找一个注册码注册,若不注册你最后生成的exe每次启动会弹出一个提示框提示说:这个程序由exe4j生成(当然这局提示是英语)。Next
3、选择工程类型:”JAR in EXE” mode,Next
4、第一个输入应用名称,这里我输入MyClient,下一个设置保存exe文件的路径。Next
5、Executable type:我们选择GUI application图形化应用;Executable name:输入执行文件的名字;第二个红框表示只允许你的应用一次执行一个实例。如果要生成64位应用程序须在AdvancedOptions中选择64位(对应jre的位数)。Next
6、点击绿色的加号添加需要转换的jar文件,在Main class中选择启动类。Next
7、必须填写支持的最低jre版本,最高的可以不填,注意这里我们要进入Advanced Options的Search sequence配置jre路径。
8、这里配置应用程序的加载顺序,点击红叉把进来这个界面之后的Search sequence全部删掉,点击绿色的加号,在其中的directory选择jre文件把jre文件路径添加进来,这里则变为.\jre的相对路径,这样别的电脑就可以找到jre运行环境了。Nex
9、接下来几步都可以点next了,一不小心就生成了exe文件了。这下就成功了,这里直接Exit退出,然后找到你的exe点击运行吧。这时也可以将你的jar文件删掉了。
三、将exe执行文件做成setup安装文件
1、我们需要用到Inno Setup这款软件,直接解压即可用,在目录下找到Compil32.exe点击执行,选择创建一个新的脚本文件.OK
Next
2、填写相关信息,默认的也可以。Next
Next
3、重点,Application main executable file:选择刚刚生成的exe文件。
Other application files:其他应用程序文件(需要把存放jre和资源文件的目录添加进去)。点击Add folder,选择需要的目录。
4、这里根据自己的需要勾选,这里就是说的是否创建一些快捷方式等。
没贴图的则是next了
5、选择安装时提供的语言。Next
6、Custom compiler output folder:生成的安装包保存的路径。
Compiler output base file name:输出的安装包的名称。Next
7、它生成了脚本,点击编译就行,编译完成后,compiler output中会有提示finished。
8、到这里我们就大功告成了,但是细心一点会发现安装包还是比较大,这是因为jre运行环境太大,我们需要对它进行精简,本篇就不说具体怎么精简了,反正就是把你不需要的类库和一些无关的删掉。