最近空闲下来编写了一个用于打包Java应用的工具,它能够把Java应用打包成为一个平台相关的程序包,非常方便,经过我的测试和调整,它能够运行在Linux和Windows下,可以有效的实现打包功能。

JavaPackager本身需要依赖WIX以及一部分平台相关的开发工具,而且命令行用起来也不是很方便,总之,为了解决这些不方便的地方,所以我并没有通过Java官方提供的JavaPackager实现打包,而是自己实现了一个新的。
这个工具主要分为两部分,顶上的工具栏和底下的具体配置,很好理解,工具栏从左到右的按钮分别有这些作用:

从左到右,分别是:
- 打开,打开一个之前保存的项目
- 保存,保存当前这个编辑中的项目
- 新建,创建一个新的打包项目
- 测试,尝试在不进行打包的时候通过指定的jdk和本工具中指定的打包选项运行你尝试打包的应用程序,从而确保这里的配置是有效的。
- 测试前你需要首先保存项目。
- 在测试的时候需要选择一个文件夹,这个文件夹会被视作该应用程序的安装目录以及工作目录。
- 打包应用程序
- 你需要首先保存该项目,建议放在一个单独的文件夹里面,我们会在这个文件夹里面为该应用程序生成图标集和打包目录。
- 本工具的配置,包括UI和语言
- GUI选项,如果勾选这个选项,则打包完毕的应用在运行的时候不会生成控制台窗口。
接下来需要关注的是底部的几个选项卡,这些选项卡很重要:
- JavaDeveloperKit - 项目配置的主选项卡,你需要在这里配置使用的JDK,启动类和启动模块,如果你需要的话,还可以指定一个JavaFX的SDK,项目名称是必填项,不要留空也最好不要使用英文之外的东西,Java开发环境指的就是JDK,也是必填项。
- 库和依赖 - 这里应该包含你的应用程序的Jar文件,以及它依赖的所有Jar文件,把它们添加到列表中以便于打包的时候复制它们。
- 系统模块,如果你使用的是Java8,那么这里应该是空的,如果你使用的是高版本JDK,那么你可以选择一些你需要的模块,它们会被jlink工具链接到JRE里面,如果不知道你需要的模块都有哪些,可以直接勾选java.se,这会包含大部分Java系统模块,通常够用。
- 动态链接库,也就是JNI的类库,如果你需要一些散装的JNI库,例如一些dll或者so,把它们添加到这里,它们将被复制到应用程序的分发目录中,放到合适的位置。
- 应用图标,选择一个边长大于512像素的PNG图片作为图标,工具会自动缩放出各个必要的尺寸,当然,打包工具提供了默认图标,你可以不选。
打包一个应用通常包含以下的步骤:
Step 1 - 选择一个JDK
如果第一次使用本工具,你需要通过管理按钮添加你的JDK:


选择Java安装目录即可,它会尝试执行该目录的bin/javac并获取java的版本,如果正确的得到了Java版本,那么该JDK将会注册到可用JDK的列表中。
如果你选择了高于Java8的JDK,同时发现“系统模块”里面没有出现模块列表,请删除并且重新添加它,我建议你添加至少两个版本的JDK。
Step 2 - 填写基本的应用信息

通常来说包括名称,JDK,JavaFXSDK(如果需要),启动类,主模块(如果你的项目没有使用module-info.java,这一项留空即可),VM参数(不需要添加其他参数的话,留空即可,需要填写这里只支持英文数字和基本符号)。
此外,如果项目是GUI项目,使用了Swing或者JavaFX,可以勾选右上角的GUI复选框,以隐藏控制台窗口。
Step3 - 添加必要的库

这一部分界面如上图,点击左侧第一个图标,既可导入一个文件夹内全部的Jar,如果你使用了Copy Dependencies,那么就使用它加载那些库吧:

从左到右,这些图标的功能分别是:
- 导入一个文件夹的所有Jar
- 清除列表里面的所有Jar
- 导入一个Jar
- 移除选中的那个Jar
启用的复选框可以自由选择是否把该Jar添加到ClassPath或者ModulePath里面。
Step4 - 选择系统模块
系统模块是JDK的一部分,这里直接勾选java.se即可,如果你想要一个更小的JRE,可以按照自己需要选择。

Step 5 - 添加必要的本地库
如果你需要分发JNI的动态链接库(*.dll,*.so,*.dylib这些),添加它们到这一个Tab的表格中,就像这样:

Step 6 - 保存配置
为你的打包项目新建一个文件夹,然后点保存按钮,把配置文件保存到那里面

Step 7 - 测试运行

通过测试运行按钮,可以尝试使用这个配置指定的Jar和VM Options启动应用程序,确定Java应用能够正常运行。

点击这个按钮选择应用程序的目录,该目录是它的工作目录,也被视为应用程序的安装目录,可以选择你开发的时候它的运行目录,例如,Idea项目的根目录(有pom文件的那个位置)。
然后点击右侧的三角按钮启动它,下方的文本框会显示控制台的输出内容,如果一切正常,你可以终止它并关闭此窗口,如果不行,就检查一下输出调整配置(调整后的配置将会在保存后生效)。
Step 8 - 执行打包
点击工具栏的打包按钮,然后就可以去保存配置文件的位置,那个位置现在应该有一个dist目录,里面是打包完毕的应用程序,如果应用程序需要一些其他的资源,你应该复制到该目录中合适的位置。


















暂无评论内容