JPackage打包使用方法
JPackage 是 JDK 14 引入的一款命令行工具,用于将 Java 应用程序打包为原生安装包,如exe、dmg、pkg、deb、rpm。
介绍
jpackage 命令是从 Java 14 开始提供的,可以帮助我们为模块化或非模块化 Java 应用程序生成指定系统平台的可执行程序,而不用预先安装
JRE 环境。如何做到的呢?
我们知道 Java 程序必须在 JRE 环境才能运行, jpackage 其实是把 JRE 和 JAR 文件以及所有必要依赖项一起打包生成指定平台的可执行程序。例如
Windows 上的 exe 或 macOS 上的 dmg。每种格式都必须构建在其运行的平台上,没有跨平台支持。工具还提供了常见的自定义操作,如应用名,应用图标等。
查看jpackage帮助jpackage --help
1 |
|
jpackage创建可执行程序命令格式:
1 |
|
使用方法
Windows
对于 Windows,jpackage需要WiX 3.0或更高版本。
打包成 exe 程序:
1 |
|
可选参数:
- –type : 指定打包后的格式,如 msi、exe,默认 exe。
- –win-console:使用控制台窗口启动我们的应用程序
- –win-shortcut : 在 Windows 开始菜单中创建快捷方式文件
- –win-dir-chooser:让最终用户指定自定义目录来安装可执行文件
打包完成后会在指定目录下出现demo.exe文件。
安装之后,路径默认为C:\ProgramFile\demo
目录下。
Linux
以Ubuntu系统为例,默认打出的安装包后缀为 .deb
1 |
|
使用apt install demo.deb
安装
1 |
|
安装之后,路径默认为/opt/hello/bin/demo
MacOs
Mac 平台运行 jpackage 命令会自动生成 dmg 安装包。
1 |
|
生成 hello-1.0.dmg 文件,双击弹出安装界面。
安装之后,路径默认为/Applications/demo.app/Contents/MacOS/demo
注意
jpackage目前不支持跨平台打包,正如官网介绍所说:
The jpackage tool will take as input a Java application and a Java run-time image, and produce a Java application image that includes all the necessary dependencies. It will be able to produce a native package in a platform-specific format, such as an exe on Windows or a dmg on macOS. Each format must be built on the platform it runs on, there is no cross-platform support. The tool will have options that allow packaged applications to be customized in various ways.