Java 14 引入了一个新的打包工具,基于 javapackager 的 jpackage。javapackager 是在 Java 8 中引入的,是 JavaFX 套件的一部分。由于 JavaFX 从 11 版本的 Java 中分离出来,因此该打包工具在标准产品中不再可用。
这个新工具旨在为操作系统提供本机安装程序。例如,Windows 的 msi/exe,MacOS 的 pkg/dmg,Linux 的 deb/rpm 等等。如果没有这个工具,开发人员通常会共享一个 jar 文件,用户必须在自己的 JVM 中运行该文件。
开发者可以使用 jlink 将所需的 JDK 模块压缩到最小模块,并使用 jpackage 来创建轻量级镜像。
Java14 打包工具的示例
APITester.java
package com.yiidian;
public class APITester {
public static void main(String[] args) {
System.out.println("Welcome to yiidian.com.");
}
}
编译并运行程序
$javac APITester.java
$jar cf APITester.jar APITester.class
输出结果为
对于windows 可执行文件,您需要下载WiX Toolset v3.11.2(wix311-binaries.zip)并将工具包添加到您的路径中。
创建jar 并设置路径后,将 jar 放在名为 lib 的文件夹中并运行以下命令以创建 Windows MSI 安装程序。
$jpackage --input lib --name APITester --main-jar APITester.jar --main-class APITester --type msi --java-options '--enable-preview'
WARNING: Using incubator modules: jdk.incubator.jpackage