SpringNative GraalVM 打包 SpringBoot 为 Linux 的 单文件应用程序
Posted catoop
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringNative GraalVM 打包 SpringBoot 为 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 官方下载地址:https://github.com/graalvm/graalvm-ce-builds/releases
下载如下图两个文件,第一个相当于 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)
以上是关于SpringNative GraalVM 打包 SpringBoot 为 Linux 的 单文件应用程序的主要内容,如果未能解决你的问题,请参考以下文章
SpringNative GraalVM 打包 SpringBoot 为本地应用 exe 程序
SpringNative GraalVM 打包 SpringBoot 为 Windows 的 exe 应用程序