jpackage打包Java程序为可执行安装包

作者:zhangyunlong 发布时间: 2025-01-10 阅读量:2 评论数:0

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$ 

评论