1. 步骤
- 创建文件夹(存放jre与即将生成的exe文件)
- 生成jar可执行文件
- Lanuch4j 生成exe文件
2. 创建发布文件夹
创建这个文件夹的目的是为了存放jre与exe文件的,当exe文件生成后,可以直接将这个文件打包成zip文件。使用时,解压然后点击其中的exe文件即可。
如图:
lib存放了jre。(jre可以放在ExcelMergerTool文件夹下的任何位置)
Exe文件建议直接放在发布文件夹下。
另外jre可以根据实际进行精简。
目的:将jre与exe文件放在一起,方便管理,发布。
3. 生成jar可执行文件
这里将借助eclipse的export功能来实现。
特别注意的是:当java程序依赖第三方包时,要注意export的类型。
假设java程序依赖第三方包
项目结构
- 确定要导出的包与文件夹
通过点击 项目properties-java build path来选择
上图显示了哪些文件夹会被放入生成的jar文件:
只有设置为sourcefolder以及source folder下的非空文件夹会被导入。
如
由于lib不是 source folder,所以其不会被导入到jar文件
Source folder下的Image也有可能不会被导入,如果其是一个空文件夹。
- 确定要导出的第三方依赖包
Libraries下显示的所有依赖包都会被导入jar文件中,当然除了其中的jre.
- 生成可执行jar文件
· 右击项目文件,选择export
· 选择Runnable JAR file
· 确定生成的Jar位置
· 点击finish生成runnable jar
4. Lanuch4j 生成exe文件
- 下载lanuch4j
http://launch4j.sourceforge.net/
- 确定exe文件生成位置
· Outputfile指定:生成exe文件位置。
注意:一定是之前创建的“发布文件夹”下。
· Jar:指的是上面已经创建好的runnable jar。
注意:如果jar下面的Don’t wrap thejar, launch only复选框没有被选中,则生成的exe文件将把jar指定的runnable jar文件包装成exe文件,也就是output file中指定的ExcelMergerTool.exe将包含有ExcelMergerTool.jar文件。这样一来,当exe生成成功后,ExcelMergerTool.jar可被删除掉了。
· Changedir:指明根路径
用 . 来表示根路径是OutputFile指定的EXE文件所在的父文件夹。
在上图其相当于:E:\temp\source\ExcelMergerTool
这个设定很重要,当设定jre位置时,根据它来设置相对位置
如./lib/jre6说明jre的位置是:exe所在父文件夹下的lib文件夹下,这里exe的父文件夹是ExcelMergerTool,所以jre的位置是:
…./ExcelMergerTool/lib/jre6
采用相对位置作用:
无论发布文件夹所在位置如何变化,exe都能够根据自身所在的位置(父文件夹作为参照点)找到jre。
- 确定jre版本和自带jre位置
· BundledJRE path:指定jre位置
如上述的change dir中设置的 . 将影响到这个值的设置。
· Min JREversion: 指定jre 最低版本
旁边的下拉列框设置了jre访问机制,
可以只访问自定义的Jre。
可以:如果运行的pc上有安装jdk,且版本更高,则引用pc的。
以及其他选项
· Intialheap size 与max heap size:设置占用内存大小
这个可留空。
- 生成exe文件
点击这个按钮后,其会让你保存一个配置文件(xml),其对生成的exe文件的运行没有影响,因此其存放位置可随意。
最后在log中会显示生成的状态。
5. 打包与运行exe文件
可以对发布文件夹进行压缩,如压缩成zip格式,当需要使用时,解压缩,双击运行其中的exe文件即可。