本项目是一个spring boot json的集成后端项目,主要是验证集成GraaLVM。
spring boot
https://docs.spring.io/spring-boot/docs/3.2.0/reference/htmlsingle/#native-image
graalvm
https://www.graalvm.org/jdk23/docs/
paketo
- 速度快
- 编译好的项目提供其他人私有化部分,不拍源码被盗
- 打包速度慢的出奇
电脑情况 2021 macPro I9 32G
打包时间 Total time: 16:38 min
- 第三方一些jar 支持不是很好
- easyexcel
- apache.poi
- mybatisPlus
- json的序列化 老项目升级:已做好maven插件,快速找到所有的json序列化代码(付费)
- spring的BeanUtils.copy的反射 老项目升级:已做好maven插件,快速找到所有的json序列化代码(付费)
# 官网 https://sdkman.io/installsdk install java 23.1.3.r21-nik
sdk use java 23.1.3.r21-nikq
sdk current #查看当前sdk
# Using:
# java: 23.1.3.r21-nik
需要下载 framework-parent。并mvn install安装到maven本地仓库
# 在项目根目录 执行命令。将打包项目为jar
mvn -DskipTests package
# 在framword-sample-web-starter项目目录下 执行命令
cd graalvm-samples-json
mvn -Pnative -DskipTests spring-boot:build-image
# 第二种 编译为exe
mvn -Pnative -DskipTests native:compile
docker run --rm docker.io/library/graalvm-samples-json:1.0.0-SNAPSHOT# java启动时间
Started DemoApplication in 1.344 seconds (process running for 1.845)
# Graalvm 启动时间
Started DemoApplication in 0.036 seconds (process running for 0.041)