《Spring Boot 3 + GraalVM 25 实战:基于 Windows 11 系统编译原生镜像》
·
前言
Java 25 的发布带来了不少值得深入探索的特性,从增强的并发工具到更灵活的语法支持,进一步夯实了 Java 生态的实用性;而紧随其后的 GraalVM 25,更是在原生镜像编译领域再添亮点 —— 不仅延续了 GraalVM 一贯的高性能优势,还对多语言交互、内存优化做了不少升级,让 “将 Java 应用编译为轻量原生二进制文件” 这件事变得更高效、更易用。
正是这些技术亮点的驱动,我决定以 “构建适用于 Windows 11 系统的原生镜像” 为核心目标,展开本次学习实践。
环境说明
- VS Studio 2026
- GraalVM 25
- Maven 3.9.11
- Springboot 3.5.6
项目说明
为了测试 GraalVM 25 的原生镜像构建能力,我这边使用了最新版的 Springboot3,采用多模块 Maven 项目架构,进行验证。
项目结构
|- tmxk (parent 依赖管理)
|--core (项目核心依赖)
|--ops (测试模块、web、GraalVM 插件)
ops 作为本次测试模块,提供了 /api/hello 的测试接口,返回值为 core 模块的 SgResp 类,返回内容为 {"msg":"Hello World!","code":"0","data":null}。
项目插件配置
GraalVM 插件配置
ops 模块增加以下插件配置。
<plugin>
<groupId>org.graalvm.buildtools</groupId>
<artifactId>native-maven-plugin</artifactId>
<configuration>
<mainClass>site.cspy.ops.OpsApplication</mainClass>
</configuration>
<executions>
</executions>
</plugin>
环境配置
1. VS Studio 2026 安装
选择需要的环境,并点击右下角安装。

安装完成后,重启系统。搜索并进入 x64 Native Tools Command Prompt 环境。

进入 Native 环境后,终端效果如图所示。

2. Java、Maven 环境变量设置(临时)
rem 自行对应路径,这种设置方式为临时配置,只用于测试。
rem 设置 JAVA_HOME(指向 GraalVM 安装目录)
set JAVA_HOME=C:\Users\Gu\.jdks\graalvm-jdk-25+37.1
rem 设置 MAVEN_HOME(指向 Maven 安装目录)
set MAVEN_HOME=C:\Users\Gu\env\apache-maven-3.9.11
rem 将 JDK 和 Maven 的 bin 目录添加到 PATH 最前方
set PATH=%JAVA_HOME%\bin;%MAVEN_HOME%\bin;%PATH%
rem 测试命令
java -version
native-image --version
mvn -version
验证环境变量

执行测试命令输出如上,则表示环境安装成功。
原生镜像打包
完成上述环境配置后,可以进行 Windows 11 原生镜像打包。
rem 进入项目目录
cd C:\Users\Gu\IdeaProjects\tmxk
rem 构建 ops 模块的原生镜像
mvn -pl ops -Pnative native:compile
原生镜像打包中

打包完成

直接执行原生镜像

验证结果

无Java环境执行效果

后记
本文章记录了如何在 Windows 11 系统 上进行原生镜像打包,后续会基于 Docker Image 进行跨平台构建原生镜像,比如说老版本的 Linux 系统(GLIBC 2.28)。
更多推荐


所有评论(0)