前置条件
必须安装GraalVm原生镜像 才可以打包 可以查看下面的文章
SpringBoot3 + GraalVm原生镜像 从环境安装到打包测试(超详细)
使用 GraalVM 将 SpringBoot 项目打包成 exe
这两篇文章都很详细的介绍了怎么安装GraalVm
我这边安装的是jdk17的版本 在github中安装jdk21的版本就无法安装native-image 但是jdk17的版本就直接自带了 就很方便 考虑到在不使用虚拟线程的乾情况下已经完全够用了 所以就选择jdk17了
== 下面是测试通过的例子 参考上面的文章连接 但是记得使用cmd 而不用power shell 因为 PowerShell的gu命令有冲突==
接下来新建一个项目 测试
使用maven提供的模板 IDEA版本不一样的也没有关系 只要是个maven项目就行 注意jdk这个地方要使用的是 GraalVM版本的JDK
项目的目录
随便编写一些代码
在pom文件中添加插件
<build>
<finalName>unApp</finalName><!-- 导出jar的名字 -->
<plugins>
<!-- 配置主类-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>com.yirc99.App</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<!-- 配置native打包配置-->
<plugin>
<groupId>org.graalvm.buildtools</groupId>
<artifactId>native-maven-plugin</artifactId>
<extensions>true</extensions>
<executions>
<execution>
<id>build-native</id>
<goals>
<goal>compile-no-fork</goal>
</goals>
<phase>package</phase>
</execution>
</executions>
<configuration>
<!-- 镜像名称 -->
<imageName>MyApp1</imageName>
<!-- 启动类 -->
<mainClass>com.yirc99.App</mainClass>
<buildArgs>
<buildArg>--verbose</buildArg>
</buildArgs>
<!-- 跳过原生测试-->
<skipNativeTests>true</skipNativeTests>
<!-- 详细输出-->
<verbose>true</verbose>
</configuration>
</plugin>
</plugins>
</build>
直接点击打包即可