最近需要用Java写一个桌面的程序,考虑到环境要一起打包,参照别人和自己的操作过程写一个文,主要是为记录。

本文主要将以下两个博客内容放在一起,相对全面,在此谢谢两位



示例中盗图的jre是1.6,而我的是1.8,所以看客需要心里有数,做一些小的修改

先看一下自己eclipse的jre和Jdk

一、eclipse部分:写代码、导出

Java桌面应用 linux java桌面应用打包_jdk

新建java Project   命名为SwingTest,选择jre为1.6,然后直接finish(我的jre是1.8,这个是网络图)

Java桌面应用 linux java桌面应用打包_exe_02

在src下建立包com.swing.test   

并且在该包下新建类Start

Java桌面应用 linux java桌面应用打包_java_03

然后书写如下代码:

Java桌面应用 linux java桌面应用打包_java_04

然后右键 Run as-------Java Application

Java桌面应用 linux java桌面应用打包_exe_05

可以看到,这个简单的例子是可以跑起来的

Java桌面应用 linux java桌面应用打包_jar_06

接下来将此项目导出为可执行jar,

在项目名上右键---Export..

Java桌面应用 linux java桌面应用打包_Java桌面应用 linux_07

然后选择java--Runnable JAR file  然后选择next

Java桌面应用 linux java桌面应用打包_jar_08

然后在Launch configuration下选择当前的项目,这里显示的格式是[包含有main函数的类名 - 项目名]

然后在下面选择输出文件夹,这里我们选择Browse..

然后选择桌面,在桌面上新建一个文件夹src1

将生成的可执行jar输出到此文件夹

Java桌面应用 linux java桌面应用打包_java_09

其他保持不变,finish即可

这个时候src1下面就有了可运行jar文件

至此,程序编写及eclipse打包就基本完成!下面需要用到exe4j这个程序进行打包

二、exe4j安装、注册、将jar文件打包成exe

exe4j下载地址:http://www.ej-technologies.com/download/exe4j/files.php

进入网址,选择需要的版本,点击下载就可以了,需要注意的是exe4j 6.0 需要的jdk版本为1.8及以上。

Java桌面应用 linux java桌面应用打包_jdk_10

 

下载完成和平时安装软件以下,基本上直接下一步就可以搞定。

安装完成运行软件,点击Enter License

Java桌面应用 linux java桌面应用打包_jar_11

Java桌面应用 linux java桌面应用打包_jar_12

用户名和公司随便填写即可。注册码下面的随便随便复制一个即可

A-XVK258563F-1p4lv7mg7sav

A-XVK209982F-1y0i3h4ywx2h1

A-XVK267351F-dpurrhnyarva

A-XVK204432F-1kkoilo1jy2h3r

A-XVK246130F-1l7msieqiwqnq

A-XVK249554F-pllh351kcke50

A-XVK238729F-25yn13iea25i

A-XVK222711F-134h5ta8yxbm0

A-XVK275016F-15wjjcbn4tpj

然后点击ok即可完成激活

打开后直接选择Next

Java桌面应用 linux java桌面应用打包_exe_13

这里选择“JAR in EXE" mode

如果选择regular mode会导致最终的结果报java.lang.ClassNotFoundException: com.swing.test.Start

Java桌面应用 linux java桌面应用打包_java_14

这里填写本次相对于exe4j的项目名称,随意了,这时在桌面新建文件夹src2

然后这里选择src2,这个是你EXE程序生成的文件夹。

Java桌面应用 linux java桌面应用打包_exe_15

接下来只需要在Executable name中填写你生成好之后,后缀名为.exe的程序叫什么名字

我这里写Start,即会生成Start.exe

其他均不改动,保持默认,下面的一项Icon File可以定义程序图标,不能将其他图片直接

更改后缀名后选择,必须使用图标软件生成后缀名为ico的文件,或者选择本来就是ico的文件,

这里暂且不选

Java桌面应用 linux java桌面应用打包_Java桌面应用 linux_16

然后点击右侧小加号,

Entry type选择为Archive

Detail选择为src1下面的start1.jar

然后ok

Java桌面应用 linux java桌面应用打包_java_17

在Main class这里栏选择启动类,这里当然是com.swing.test.Start

Java桌面应用 linux java桌面应用打包_jdk_18

接下来配置程序运行要求最低jre版本和最高jre版本(这是盗图,最小我写的1.7,最高写的1.8)

Java桌面应用 linux java桌面应用打包_jdk_19

这个时候需要准备一个jre,之所以单独准备jre是为了考虑有些用户点上可能没有jre,

也为了程序具备最高兼容性,所以我们让我们的程序使用自己的jre

将准备好的jre文件夹放入src2文件夹

Java桌面应用 linux java桌面应用打包_Java桌面应用 linux_20

选择下面的Advanced Options---Search sequence

Java桌面应用 linux java桌面应用打包_Java桌面应用 linux_21

默认会看到一些配置,将这些配置全部删除,一个都不留

Java桌面应用 linux java桌面应用打包_exe_22

然后点击右边的加号,

Entry type选择Directory

然后选择src2下的jre1.8.0_171

Java桌面应用 linux java桌面应用打包_exe_23

结果如下

Java桌面应用 linux java桌面应用打包_jdk_24

然后选择Next--选择VM不管,默认即可--Next--下一个界面继续Next----

Java桌面应用 linux java桌面应用打包_jdk_25

这个时候再点击next就开始将jar打包为exe了

Java桌面应用 linux java桌面应用打包_java_26

完成后选择exit,弹出的框选NO

Java桌面应用 linux java桌面应用打包_Java桌面应用 linux_27

这个时候EXE程序就可以直接运行了,继续下一步

三、inno Setup5安装、打包

打开 Inno Setup 5(我的版本是5.5.2,http://pan.baidu.com/s/1y2kgW)

Java桌面应用 linux java桌面应用打包_jdk_28

选择  下一步

Java桌面应用 linux java桌面应用打包_java_29

这里我只更改了”应用程序名称“为Start,

其他信息随自己喜好,这里暂不更改,选择下一步

Java桌面应用 linux java桌面应用打包_jdk_30

接下来的这一步不做任何更改,继续选择下一步

Java桌面应用 linux java桌面应用打包_jdk_31

这一步应用主执行文件选择刚刚生成在src2下的Start.exe,  然后添加文件夹,

选择src2,会询问你是否包含子文件夹,选择是,包含所有文件夹,继续下一步

Java桌面应用 linux java桌面应用打包_Java桌面应用 linux_32

这里我不做什么更改

继续下一步

Java桌面应用 linux java桌面应用打包_exe_33

一般程序在安装的时候都会有一些安装提示、或者版权声明,用户同意才继续安装程序,

这里就是用来将你想要显示的信息打包进程序,我在src1下面新建了三个文本文档

1.txt

2.txt

3.txt

里面随便写一句话即可,继续下一步

Java桌面应用 linux java桌面应用打包_exe_34

这一步默认不做改变,继续下一步

Java桌面应用 linux java桌面应用打包_jdk_35

在桌面新建文件夹 outexe

然后将编译器输出文件夹选择为outexe

其他不做改变,

对下面三个参数稍作说明:

编译器输出基本文件名,即本次打包后在outexe文件夹中生成的文件名

自定义安装图标,这里跟前面一样,要ico文件,当然你选了就会是你这个图标,如果你不选生成

后的图标也不会是你在exe4j里选的图标

安装密码一般不使用,设置了的话,要想安装本程序就需要输入安装密码

继续下一步

Java桌面应用 linux java桌面应用打包_jar_36

这一步默认选中,继续下一步

Java桌面应用 linux java桌面应用打包_java_37

这里选择完成

Java桌面应用 linux java桌面应用打包_jar_38

这里选择是

Java桌面应用 linux java桌面应用打包_java_39

这里我一般选选择 否

Java桌面应用 linux java桌面应用打包_exe_40

现在就开始打包安装程序了

Java桌面应用 linux java桌面应用打包_Java桌面应用 linux_41

等待一会,安装程序就制作好了,就跟你平时见到的那些安装程序一样。

Java桌面应用 linux java桌面应用打包_jdk_42

看到这个说明打包完成,好了,去看看自己制作的安装程序吧!

PS:JRE需要选择精简版的话,这个需要自己去探索