如何使用 jpackage(或类似工具)将可执行 jar 文件捆绑为 运行 作为 macOS 上的 cli 命令?

How to bundle an executable jar file to be run as a cli command on macOS with jpackage (or similar tools)?

我已经使用 picocli 和 Kotlin 编写了一个命令行工具。然后我将它编译成一个可执行的 uber jar,它实际上作为一个独立的应用程序运行 运行ning

java -jar MyJarFile.jar [cli options and parameters]

但是我如何捆绑它以便我可以在 Mac 上分发它,这样我就可以 运行 它作为

mycommand [cli options and parameters]

我知道我可以使用 jpackage,我使用它并生成了一个 .pkg 文件,该文件将应用程序安装在我 Mac 的 /Applications 文件夹中。我想我必须将一个文件放在 PATH 中的文件夹中,以便将其用作命令行工具。我如何“自动化”这个过程? jpackage 是正确的工具吗?

总结一下,我想做的是捆绑我的可执行 jar,这样当 Mac 上的安装过程完成时,用户可以写

mycommand [cli options and parameters]

picocli 文档有一个 list of options 用于打包您的应用程序。 (欢迎提出其他选项的建议。)

其中一个值得特别提及的选项是 creating a native image with GraalVM