mvn构建graalvm原生文件
命令
mvn clean package -Pnative -DskipTests -Dspring-boot.aot.jvmArguments="-Dfile.encoding=UTF-8"
这行命令的作用是编译并打包你的 Spring Boot 项目为原生镜像(Native Image),在执行过程中:
-DskipTests:明确指定了跳过测试用例的运行。- **
package**:是 Maven 的生命周期阶段,意味着命令执行到打包结束(生成二进制文件)
参数拆解:它们到底做了什么?
| 参数 / 命令 | 实际作用 |
|---|---|
mvn clean package |
清理旧的构建产物,并重新编译、打包项目。 |
-Pnative |
激活名为 native 的 Profile(通常用于触发 GraalVM Native Image 的构建)。 |
-DskipTests |
跳过测试的运行(但依然会编译测试代码)。 |
-Dspring-boot.aot.jvmArguments="..." |
指定在 AOT(提前编译)阶段以及最终原生镜像运行时所需的 JVM 参数(设置了编码和激活 test 环境配置)。 |
运行原生镜像:
如果你后续想要运行打包好的原生程序,需要去target/目录下找到生成的可执行文件(没有.jar后缀),然后直接在终端执行它。