何以解忧
何以解忧
发布于 2024-09-20 / 323 阅读
1
0

JAVA -jpackage 常用属性和参数

jpackage 是 JDK 14 引入的一个工具,用于将 Java 应用程序打包成自包含的安装程序包,适用于不同平台(如 Windows、macOS、Linux)。以下是 jpackage 常用属性和参数的详尽列表,帮助你定制和配置打包过程。

常用属性和参数

基本属性

-n, --name
应用程序的名称。

--name MyApp

-i, --input
输入目录,包含应用程序所需的 JAR 文件和资源。

--input path/to/input/directory

--main-jar
指定应用程序的主 JAR 文件。必须在 --input 目录下。

--main-jar app.jar

--main-class
指定主类(包含 public static void main(String[] args) 的类)。

--main-class com.example.Main

--app-version
应用程序版本号。

--app-version 1.0.0

--vendor
应用程序提供者名称。

--vendor "Your Company"

--type
指定打包类型(可选:app-image, exe, msi, rpm, deb, pkg)。不指定时,根据平台默认类型。

--type exe

安装程序属性(Windows)

  • --win-console
    为 Windows 创建控制台应用程序。

  • --win-shortcut
    在 Windows 上创建桌面快捷方式。

  • --win-dir-chooser
    允许用户在安装时选择安装目录。

  • --win-menu
    在 Windows 开始菜单中创建程序组。

--win-upgrade-uuid
指定升级 UUID,允许不同版本之间进行升级。

--win-upgrade-uuid "your-unique-uuid"

--icon
指定应用程序的图标文件(.ico 格式)。

--icon path/to/icon.ico

Linux 特定属性

  • --linux-shortcut
    在 Linux 上创建桌面快捷方式。

  • --linux-package-name
    在 Linux 上生成的包的名称。

  • --linux-app-category
    指定应用程序的类别(如 Utility, Development)。

--linux-deb-maintainer
在生成 .deb 包时指定维护者信息。

--linux-deb-maintainer "your-email@example.com"

  • --linux-rpm-license-type
    在生成 .rpm 包时指定许可类型。

macOS 特定属性

  • --mac-sign
    签署应用程序包。

  • --mac-signing-key-user-name
    用于签署应用程序包的密钥链用户名称。

--mac-package-identifier
指定 macOS 上的包标识符。

--mac-package-identifier com.example.myapp

  • --mac-package-name
    在 macOS 上生成的包的名称。

  • --mac-bundle-signing-prefix
    指定 macOS 捆绑包的签名前缀。

JVM 选项

--java-options
向 JVM 传递选项(如 -Xmx 等)。

--java-options "-Xmx1024m"
  • --runtime-image
    指定 JRE 或自定义运行时镜像路径。

  • --add-modules
    指定打包时要包含的模块(如 java.sql)。

高级属性

  • --resource-dir
    指定包含自定义资源(如 main.wxs 文件)的目录,用于高级安装包自定义。

  • --app-image
    指定应用程序镜像目录,直接使用已有镜像而非重新创建。

  • --runtime-installer
    指定使用特定的 JDK 进行安装程序的创建。

  • --temp
    指定临时文件存放目录。

--arguments
指定应用程序启动时的命令行参数。

--arguments "arg1 arg2"
  • --input
    包含应用程序文件的目录,必须在此目录下指定 --main-jar

  • --output
    指定输出目录,生成的安装包将保存在此处。

示例命令

下面是一个完整的 jpackage 命令示例,展示了如何设置应用程序名称、图标、版本等属性:

jpackage -i ./build/libs --main-jar myapp.jar --main-class com.example.Main --type exe --name MyApp --app-version 1.0 --vendor "My Company" --icon ./icons/myapp.ico --win-shortcut --win-console --win-dir-chooser --java-options "-Xmx1024m"


评论