前言: 如果你不知道怎样开发java gui程序,不知道怎样将gui程序打包成jar包,可以参考我的上一篇文章,亲测有效

Intellij Idea开发: 手把手教你Java GUI开发,并且打包成可执行Jar程序

 先说说大概流程吧:  1.用exe4j软件将jar包转换为可执行的exe程序  2.用inno setup将exe程序及相关文件夹,制作成安装文件xxx.exe 3.将xxx.exe文件分发到各电脑安装即可

一.exe4j软件将jar包转换为可执行的exe程序

1.安装exe4j软件  exe4j及inno setup下载地址

java工程 打包jar 被其他程序调用 jar打包成exe 包括jre_ico

2.打开exe4j,并且选择 jar in exe mode

java工程 打包jar 被其他程序调用 jar打包成exe 包括jre_jar包_02

3.设置应用信息

 

java工程 打包jar 被其他程序调用 jar打包成exe 包括jre_可执行_03

4.可执行的配置

java工程 打包jar 被其他程序调用 jar打包成exe 包括jre_jar包_04

5.下一步

java工程 打包jar 被其他程序调用 jar打包成exe 包括jre_可执行_05

java工程 打包jar 被其他程序调用 jar打包成exe 包括jre_ico_06

java工程 打包jar 被其他程序调用 jar打包成exe 包括jre_jar包_07

6.选择jar程序

java工程 打包jar 被其他程序调用 jar打包成exe 包括jre_ico_08

 7.配置jre

java工程 打包jar 被其他程序调用 jar打包成exe 包括jre_jar包_09

search sequence:删除多余的文件夹, 只配置jre路径

java工程 打包jar 被其他程序调用 jar打包成exe 包括jre_ico_10

这个jre配置很容易出错,建议大家,按照我的步骤来做,这是第三步的配置的路径

java工程 打包jar 被其他程序调用 jar打包成exe 包括jre_可执行_11

大家把jre放到这个目录中去,后面打包成的exe文件也在这个文件夹中,然后就可以直接将这个文件夹分发给其他电脑,  点击里面的exe就可以运行了.

7.一直下一步,finished即可

java工程 打包jar 被其他程序调用 jar打包成exe 包括jre_jar包_12

8.出现下图,说明你的exe打包成功了,如果你要分发给其他人,要将exe和jre一起发给别人

java工程 打包jar 被其他程序调用 jar打包成exe 包括jre_ico_13

9.保存配置文件xxx.exe4j, 相当于一个模板吧,以后修改修改里面配置即可直接使用了

java工程 打包jar 被其他程序调用 jar打包成exe 包括jre_jar包_14

 

二.用inno setup将exe程序及相关文件夹,制作成安装文件

1.下载inno setup软件,中文版最好 exe4j及inno setup下载地址

2.新建空白脚本

java工程 打包jar 被其他程序调用 jar打包成exe 包括jre_ico_15

java工程 打包jar 被其他程序调用 jar打包成exe 包括jre_可执行_16

java工程 打包jar 被其他程序调用 jar打包成exe 包括jre_jar包_17

java工程 打包jar 被其他程序调用 jar打包成exe 包括jre_可执行_18

java工程 打包jar 被其他程序调用 jar打包成exe 包括jre_ico_19

java工程 打包jar 被其他程序调用 jar打包成exe 包括jre_可执行_20

java工程 打包jar 被其他程序调用 jar打包成exe 包括jre_jar包_21

java工程 打包jar 被其他程序调用 jar打包成exe 包括jre_jar包_22

java工程 打包jar 被其他程序调用 jar打包成exe 包括jre_ico_23

3.一直下一步,选是即可,就会生成一个xx.exe文件

java工程 打包jar 被其他程序调用 jar打包成exe 包括jre_可执行_24

如果有需要可以保存脚本文件,

java工程 打包jar 被其他程序调用 jar打包成exe 包括jre_jar包_25

  以方便下次使用, 下次会直接运行脚本文件,或者修改脚本文件里面多的参数即可

4.有的inno setup版本不同,安装文件,安装好后,会发现桌面上没有快捷方式,可以参考下方的解决步骤,亲测有效

Inno Setup这个软件确实非常好用,但是由于我下载的中文汉化版,根据向导一步步来就是不创建桌面快捷方式,折腾了很久,终于找到了解决方法。

下面是我使用Inno Setup打包软件后脚本文件里的一段代码:

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

上面这一段代码,第一段表示创建桌面快捷方式、第二段表示创建快速启动栏。其中Flags:unchecked表示默认未被选择,我们改成Flags:checkablealone表示默认被选择。

为了实现上图1所示的效果,我们将代码改成下面的样子:

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: checkablealone
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: checkablealone

这样就基本OK了,我一般打包软件的时候,只喜欢加上“创建桌面快捷方式”,不喜欢加上“创建快速启动栏快捷方式”,所以第二段代码也可以不要。

OK,到此为止,大功告成了,不过还有优化的地方,比如说: jre的精简等等

如果你没有看到怎么制作jar包,可以看我的上一篇文章Intellij Idea开发: 手把手教你Java GUI开发,并且打包成可执行Jar程序