📜  Java的JEP 打包工具(1)

📅  最后修改于: 2023-12-03 15:16:36.939000             🧑  作者: Mango

Java的JEP 打包工具

简介

JEP(JDK Enhancement Proposal)是专门针对 JDK 的改进提案,JEP 343 提案就提出了一种无需其他构建工具,可轻松地创建可执行的 Java 程序包的方法。

JEP 343 实现了一个名为“jpackage”的新工具,它可以从一组模块和它们的依赖项中创建自包含的安装程序包、操作系统托盘应用程序和类似于 App Store 的应用程序商店中的应用程序。它可以在 Windows、Linux 和 MacOS 上运行。

使用方法
  1. 首先使用 JDK 14(或更高版本)中的“jdeps”工具,检查将要打包的模块所依赖的模块,并将它们传递给“jlink”工具,以创建一个最小化的 Java 运行时图像。
  2. 然后使用自己的应用程序代码和辅助文件(如资源文件和属性文件)来构建一个或多个模块。
  3. 最后使用 jpackage 工具来创建自包含的安装程序包,操作系统托盘应用程序或应用程序商店中的应用程序。以下是一些示例命令:
创建 Windows 安装程序包
jpackage --name MyApp --input . --main-jar MyApp.jar --win-shortcut --win-dir-chooser --win-menu --type msi
创建 Linux 应用程序商店应用程序
jpackage --name MyApp --input . --main-jar MyApp.jar --type deb --app-image myapp.png --icon myapp.png
创建 MacOS 托盘应用程序
jpackage --name MyApp --input . --main-jar MyApp.jar --type dmg --mac-package-identifier com.example.myapp --mac-package-name My.app
优点
  1. JEP 打包工具允许开发人员在没有其他构建工具的情况下创建自包含的安装程序包、操作系统托盘应用程序和类似于 App Store 的应用程序,从而降低了项目的构建复杂度,节约了开发时间。
  2. jpackage 工具的输出可以包含整个 Java 运行时环境,这意味着安装程序包或应用程序可以在没有 Java 安装的系统上运行。这使得 Java 应用程序更易于分发和部署。
  3. jpackage 工具还可以轻松创建自定义的包装器或脚本,从而为开发者提供更加灵活的部署选项。
总结

JEP 打包工具是一个极具价值的工具,它为 Java 开发人员提供了一种轻松创建自包含的安装程序包、操作系统托盘应用程序和类似于 App Store 的应用程序的方法。使用 jpackage 工具可以简化构建过程、提高项目的可移植性和部署灵活性,从而使得 Java 应用程序更加易于使用和分发。