参考官方文档:https://docs.spring.io/spring-boot/reference/packaging/efficient.html
使用spring-boot-maven-plugin打包
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<excludes>
<exclude>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</exclude>
</excludes>
</configuration>
</plugin>使用jdk26
虽然 Leyden 的部分成果(如 JEP 483, 514, 515)已经集成到标准 JDK 25 中 ,但最核心的“AOT 代码缓存”功能目前仍是 Leyden 项目的实验性特性,并未包含在标准版里 。因此,想体验完整的 Leyden 效果,必须下载专门的构建版本。
从 JDK 26 开始:Leyden 的一项重要成果——JEP 516: Ahead-of-Time Object Caching with Any GC(支持任意垃圾回收器的AOT对象缓存)——已经被正式合并到 JDK 的主干线,成为 JDK 26 的标准特性之一 。
打包
mvn -Dmaven.test.skip=true clean package
/Users/chengansheng/Library/Java/JavaVirtualMachines/openjdk-26/Contents/Home/bin/java -Djarmode=tools -jar target/springboot-wxcloudrun-1.0.jar extract 当您使用 -Djarmode=tools 实用程序时,Spring 会使用各种布局将应用程序提取到目录中。在默认布局的情况下,该目录将包含:
包含库的 lib 子目录
包含应用程序类和引用 lib 文件夹中的库的清单的应用程序 JAR
试运行
/Users/chengansheng/Library/Java/JavaVirtualMachines/openjdk-26/Contents/Home/bin/java -XX:AOTCacheOutput=SpringbootWxcloudrun.aot -Dspring.context.exit=onRefresh -jar springboot-wxcloudrun-1.0/springboot-wxcloudrun-1.0.jar将创建一个文件:
SpringbootWxcloudrun.aot 包含类元数据、堆对象和分析数据;
生产运行
/Users/chengansheng/Library/Java/JavaVirtualMachines/openjdk-26/Contents/Home/bin/java -XX:AOTCache=SpringbootWxcloudrun.aot -jar springboot-wxcloudrun-1.0/springboot-wxcloudrun-1.0.jar通过生产模式运行,启动速度将会加快3倍左右。