SpringNative GraalVM 打包 SpringBoot 为 Linux 的 单文件应用程序
相比,在Linux上打包为本地单文件二进制程序就比较简单了。
相比《SpringNative GraalVM 打包 SpringBoot 为 Windows 的 exe 应用程序》,在 Linux 上打包为本地单文件二进制程序就比较简单了。
主要步骤
1、graalvm 和 maven 的环境配置
2、native-image 安装
3、mvn 编译打包
环境配置
1、下载 maven(略)
2、下载 GraalVM (本文社区版 graalvm-ce-java17-22.1.0)
graalvm-jdk 官方下载地址:https://github.com/graalvm/graalvm-ce-builds/releases/tag/vm-22.1.0
native-iamge 官方下载地址:https://github.com/graalvm/graalvm-ce-builds/releases/tag/vm-22.1.0
注意:不同的版本,graalvm-jdk 和 native-image 可能在一个地址中,也可能在两个不同的地址中,下载时要注意版本保持号对应一致。
下载如下图两个文件,第一个相当于 java 的 jdk,我们配置到 JAVA_HOME 和 PATH 环境变量中。第二个是 native-image,我们使用 gu 命令安装。
3、配置环境变量如下示例
export JAVA_HOME=/opt/graalvm-test/graalvm-ce-java17-22.1.0
export PATH=$PATH:$JAVA_HOME/bin
export MAVEN_HOME=/opt/soft/jenkins/maven_home
export PATH=$PATH:$MAVEN_HOME/bin
使用命令 source /etc/profile
使环境变量生效后,执行 java -version
确认是否生效。
4、安装 native-image
命令 gu -L install [下载的 native-image 文件路径]
[root@test graalvm-test]# gu -L install native-image-installable-svm-java17-linux-amd64-22.1.0.jar
Processing Component archive: native-image-installable-svm-java17-linux-amd64-22.1.0.jar
Installing new component: Native Image (org.graalvm.native-image, version 22.1.0)
[root@test graalvm-test]# gu list
ComponentId Version Component name Stability Origin
---------------------------------------------------------------------------------------------------------------------------------
graalvm 22.1.0 GraalVM Core Supported
js 22.1.0 Graal.js Supported
native-image 22.1.0 Native Image Early adopter
编译项目
Demo 项目代码地址:https://github.com/xzxiaoshan/spring-native-demo
执行命令 mvn clean package -DskipTests -Pnative
构建,构建速度较慢(取决于你服务器的性能),等构建完成后,在项目的 target 目录中就可以看到生成的单二进制文件了。
执行 ./spring-native-demo
启动服务,访问 http://IP:8080/test/show
即可看到我们写的输出 OK 的接口结果。
(END)
更多推荐
所有评论(0)