Graalvm将springboot打包成可执行的程序

吴书松
吴书松
发布于 2026-05-08 / 14 阅读
0

Graalvm将springboot打包成可执行的程序

简单的一个springboot demo项目

1、方式一:利用Graalvm jdk

1.1、先利用maven,将springboot项目打成jar包

jar可以正常运行

1.2、打包

native-image -jar wss-demo-0.0.1-SNAPSHOT.jar wss-demo

1.3、直接运行

./wss-demo

1.4、注意

如果将可执行文件(wss-demo)拷贝到其他linux运行,需要将wss-demo和对应jar包一起拷贝过去

2、方式二:使用maven插件(未测试)

这是构建 Spring Boot 原生可执行文件最推荐的方式。它流程简单,自动化程度高,由 Spring Boot 官方提供支持。

2.1、前置条件

  • Spring Boot 版本: 项目必须是 Spring Boot 3.x。它是官方支持原生镜像的基础版本。

  • GraalVM 环境: 在你的 Linux 机器上,需要确保 JAVA_HOME 指向你的 GraalVM 安装目录,并且 native-image 组件已安装。

2.2、pom配置

<build>
    <plugins>
        <!-- ... 其他插件 ... -->
        <!-- 添加 Spring Boot 插件 -->
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <!-- 添加 GraalVM Native 构建插件 -->
        <plugin>
            <groupId>org.graalvm.buildtools</groupId>
            <artifactId>native-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

2.3、执行打包命令

# 清理并打包,同时激活 Spring Boot 预先配置好的 'native' 配置文件
./mvnw -Pnative clean native:compile
或者
mvn clean package -Pnative native:compile

执行成功后,可在 target/ 目录下找到生成的可执行文件