06、Java14 新特性 - 新特性 - 打包工具

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