Java 中的 JEP 包工具


JEP 或 Java 增强提案,是增强 Java 平台的想法。JEP 包工具就是这样一项改进,它使程序员能够将 Java 程序打包为本机可执行文件。

通过开发人员实施 JEP 包工具,可以从 Java 程序创建本机可执行文件。这样做可以使这些可执行文件独立于 Java 虚拟机 (JVM) 或其他相关软件组件。这项强大工具的出现始于 Java 14,当时它作为一项实验性功能引入。

使用 JEP 包工具的语法

JEP 包工具的语法易于阅读和理解。要使用 JEP 包工具,必须在您的计算机上安装 JDK 14。由于该工具通过命令行工作,因此需要打开终端窗口或命令提示符才能使用它。以下是 JEP 包工具的语法:

jpackage [options]

“[选项]”字段提供了您可以用来修改 JEP 包工具行为的各种参数。可选和强制选项可以分为两组。

选项如下:

  • --name <name> − 包的名称。

  • --input <directory> − 包含应用程序文件的输入目录。

  • --main-jar <jar-file> − 主 JAR 文件的名称。

  • --main-class <class-name> − 主类的名称。

  • --type <type> − 包的类型(例如,exe、msi、deb、rpm)。

  • --output <file> − 输出文件的名称。

  • --vendor <name> − 供应商的名称。

  • --copyright <copyright> − 版权声明。

  • --description <description> − 描述。

  • --resource-dir <directory> − 包含资源的目录。

如何使用 JEP 包工具

请按照以下步骤使用 JEP 包工具:

  • 步骤 1 − 安装 Java 14 或更高版本

    使用 JEP 包工具的唯一要求是在设备上安装 Java 14 或更高版本。因此,如果您的设备尚未安装此版本的 Java 软件,则必须安装它才能访问该工具。

  • 步骤 2 − 创建 Java 应用程序

    为了将 Java 应用程序打包为本机可执行文件,请创建它。可以使用非模块化应用程序或模块化应用程序。

  • 步骤 3 − 编译应用程序

    使用 Java 编译器编译程序

  • 步骤 4 − 创建包

    程序构建完成后,可以使用 JEP 包工具生成本机可执行文件包。为此,您必须提供模块的名称和输出文件的位置。

    以下是用于生成本机可执行文件包的 JEP 包工具的示例命令:

jpackage --name MyApplication --input target/modules --main-jar MyApp.jar --main-class com.example.MyApp --type exe --output MyApplication.exe

关于此特定示例,正在使用的软件名为“MyApplication”,并通过一个名为“MyApp.jar”的中央 JAR 文件运行。数据输入的访问权限可以在标记为“target/modules”的指定目录中找到。此外,对该程序操作不可或缺的主类名为“com.example.MyApp”。利用此类过程生成的最终产品将把相关信息存放在一个名为“MyApplication.exe”的输出文件中,该文件设计在一个指定为可执行文件(“exe”)格式的包结构的范围内。

在 Servlet 中使用属性的不同方法

根据应用程序的特定需求,有几种方法可以使用 JEP 包工具。

方法 1:仅打包一个 JAR 文件

如果您的程序仅由一个 JAR 文件组成,那么 JEP 包工具可以让您生成一个自包含的可执行文件。值得注意的是,此可执行文件无需在任何计算机上安装单独的 JRE 即可运行。例如:

jpackage --input /path/to/myapp.jar --main-jar myapp.jar

使用此命令可以生成一个独立的可执行文件。它将生成一个名为 myapp 的文件,可以轻松地在任何计算机上执行。

方法 2:打包包含多个文件的目录

处理多个分布式资源和配置文件或不同库的开发人员应该使用 JEP 包工具,它提供了一种有效的解决方案。有了此工具,可以生成一个包含所有必需内容的完整可执行文件包。

jpackage --input /path/to/myapp --main-jar myapp.jar

该命令将创建一个名为 myapp 的自包含可执行文件,其中包含 /path/to/myapp 目录中的所有文件。

方法 3:为多个平台生成可执行文件

要创建特定于平台的可执行文件,例如 Windows 的 EXE 文件或 macOS 的 DMG 文件,可以使用 JEP 包工具的 --type 选项。以下是一些命令示例:

jpackage --input /path/to/myapp --main-jar myapp.jar --type exe

此特定命令能够生成 Myapp.exe - 一个完全自包含且高度适应性强的可执行文件,专门为在 Windows 环境中使用而创建。

jpackage --input /path/to/myapp --main-jar myapp.jar --type dmg

此命令将生成 Myapp.dmg,这是一个可以在 macOS 上执行的自包含可执行文件。

JEP 包工具的高级功能

此外,JEP 包工具还提供许多高级功能,可用于进一步定制包。以下是一些示例:

创建自定义启动画面

要为您的程序提供唯一的启动画面,请使用 --splash 选项。命令示例如下:

jpackage --input /path/to/myapp --main-jar myapp.jar --splash splash.png

此命令将生成一个包含名为 splash.png 的唯一启动画面的自包含可执行文件。

签名包

要使用证书对包进行签名,请使用 --sign 选项。命令示例如下:

jpackage --input /path/to/myapp --main-jar myapp.jar --sign mycert

此程序将生成一个已签名且具有名为 mycert 的证书的自包含可执行文件,名为 myapp。

合并 JVM 选择

启动程序时,您可以通过使用 --java-options 选项来包含 JVM 参数。命令示例如下:

jpackage --input /path/to/myapp --main-jar myapp.jar --java-options "-Xmx512m -Dmyprop=value"

此命令将包含 JVM 选项 -Xmx512m 和 -Dmyprop=value,这些选项将包含在生成的独立可执行文件中。

结论

JEP 包工具是一个强大的工具,使开发人员可以轻松地将其 Java 程序打包成独立的可执行文件。由于其简单的语法和高级功能,JEP 包工具可用于生成特定于特定平台的可执行文件,使用唯一的启动画面和签名自定义包,以及将 JVM 参数添加到应用程序的运行时。开发人员可以通过利用 JEP 包工具,使 Java 应用程序更易于使用和访问,而无需安装单独的 JRE。

更新于: 2023 年 8 月 1 日

173 次查看

开启你的 职业生涯

通过完成课程获得认证

开始
广告