如何为 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
,请在下方评论
我正在寻找一种方法来构建我的 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
,请在下方评论