如何为 Linux 构建 Java 本机可执行文件

How To Build Java Native Executable Files For Linux

我正在寻找一种方法来构建我的 Java 或 JavaFx 应用程序,这样我就有一个 运行s 的可执行文件,而无需安装 Java 运行目标系统上的时间 运行ning Linux(类似于 Windows 上的 .exe)

通常,Java 应用程序被打包成 jar 文件,可以是 运行 这样的

java -jar <file-name>.jar

这需要我们预先安装一个Java JRE。

我正在寻找一种解决方案来打包我的 Java 应用程序,以便它可以在目标机器上不需要 Java JRE 的情况下执行。

您可以使用 GraalVM 将 Java 应用程序编译为本机平台可执行文件。

首先按照此处的步骤安装 GraalVM:https://www.graalvm.org/docs/getting-started/#install-graalvm

安装原生图像插件: gu install native-image

正常使用 javac 编译您的 Java 应用程序: javac YourApp.java

编译为本机可执行文件: native-image YourApp

执行您的本机可执行文件: ./YourApp

@Slaw 在评论中提到 对于 java 14+ this 是最好的解决方案

它在内部使用 jlink 命令 并支持 Mac、Windows 和 Linux


官方基于Java的解决方案上面说了 但高度推荐使用GraalVM 如果您想要额外的性能和更好的微服务方法

下面@Kevin Hooke 的回答中提到了安装步骤


我认为 ```jlink``` 也适用于旧的 Java 版本

如果有人在旧版本上使用过 jlink,请在下方评论