简介go语言等打包二进制发布的方式非常方便,oracle很早之前就开始研究一个叫做GraalVM的虚拟机,GraalVM不仅支持java,还支持js等其它语言,最重要的一点是,它可以将java打包成二进制执行,也就是说生成环境不需要再安装jdk,只需要双击二进制可执行文件即可运行,无论是便利性还是运行速度、包括内内存占用都得倒极大的优化。
GraalVM是一个共享运行时间的生态系统,无论是那些依赖于JVM的语言(Java、Scala、Groovy、Kotlin)还是说其他的编程语言例如(JavaScript、Ruby、Python、R)有性能上的优势。另外,GraalVM能够通过一种前端的LLVM执行JVM上面的原生代码。GraalVM 1.0版本是基于JDK8的。
SpringBoot3.0在22年的年末发布了正式版本,本文将讲解如何基于SpringBoot3.0开发并打包一个二进制可执行文件。
第一步:
访问Spring Initializr生成一个新的项目;
第二步:
常规的spring-boot开发即可;
第三步:
打包jar mvn clean package
打包二进制 mvn -Pnative native:compile
直接打包docker镜像 mvn -Pnative spring-boot:build-image