jpackage是什么
japackage工具由 Java 14开始提供。可以为模块化或非模块化 Java 应用程序生成指定系统平台的可执行程序,而不用预先安装 JRE 环境。
jpackage其实是把 JRE 和 JAR 文件以及所有必要依赖项一起打包生成指定平台的可执行程序。
例如 Windows 上的 exe , macOS 上的 dmg, Ubuntu上的deb, 每种格式都必须构建在其运行的平台上,没有跨平台支持。
工具还提供了常见的自定义操作,如应用名,应用图标等。
Windows 平台
注意:对于 Windows,jpackage 需要 WiX 3.0 或更高版本。
Winx3.14 下载:https://github.com/wixtoolset/wix3/releases/tag/wix314rtm
以非模块化Java应用程序为例:
jpackage `
--name SmartGenerator ` # 应用名称(安装包名称)
--input "C:\Users\17294\Desktop\test3\" ` # 输入目录(包含 JAR 的文件夹)
--main-jar Smart-Generator.jar ` # 主 JAR 文件名
--type exe ` # 打包为 EXE 安装包
--app-version "1.0.0" ` # 应用版本号
--dest "C:\Users\17294\Desktop\test3\" ` # 输出目录(生成的 EXE 存放位置)
--vendor "YourCompany" ` # 供应商名称(可选)
--copyright "2024 YourCompany" ` # 版权信息(可选)
--win-console ` # 保留控制台窗口(如果是命令行程序)
--win-shortcut ` # 创建桌面快捷方式
--win-menu ` # 添加到开始菜单
--icon "C:\Users\17294\Desktop\test3\appicon.ico" # 图标路径(可选)Linux 平台
以Ubuntu24为例
zhangyunlong@matebook14s:/opt/test$ jpackage --name SmartStatistics --input . --main-jar Smart-Statistics.jar --main-class com.ctsi.SmartStatisticsApplication --type deb --app-version 1.0.0 --icon myapp.png --dest dist
zhangyunlong@matebook14s:/opt/test$ ls
dist Smart-Statistics.jar myapp.png
zhangyunlong@matebook14s:/opt/test$ cd dist/
zhangyunlong@matebook14s:/opt/test/dist$ ls
smartstatistics_1.0.0-1_amd64.deb
zhangyunlong@matebook14s:/opt/test/dist$