如何使用 Java 11 捆绑和启动本机 Mac/Windows 应用程序?

How to bundle and launch a native Mac/Windows application with Java 11?

不幸的是,javapackager 工具将随 JDK 11 一起删除 - 因为它是 JavaFX 的一部分,它也将被删除。因此,将不再有 "official" 和简单的方法来为 Mac 或 Windows 创建本机 Java 应用程序包。

我尝试重新使用由 Java 9/10 的 javapackager(在 Mac:my.app/Contents/MacOS/my)生成的本机启动器文件,它们似乎仍然适用于 JDK 11. 然而,这是一个有点肮脏的解决方案。关于如何使用 Java 11 及更高版本(首选 Mac 平台)本地打包和启动应用程序的任何想法?

您可以使用 jlink 命令,它将您的模块捆绑到自定义运行时映像中。这与 javapackager 有点不同,它需要您使用模块才能正常工作。如果您从 JRE 中手动指定所需的所有模块,您也许可以在没有模块的情况下使用它。

正如 ccpizza 上面评论的那样:

As of JDK14 you can now use jpackage as shown here: whosebug.com/a/66511673/191246 (still incubating though) – ccpizza