2025-03-04 简单验证springboot native

springboot 使用native核心

只要关注pom即可

  1. 必须引入parent 以3.4.3为例子
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.4.3</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
  1. 引入插件
           <plugin>
                <groupId>org.graalvm.buildtools</groupId>
                <artifactId>native-maven-plugin</artifactId>
            </plugin>

3.修改springboot打包

          <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <image>
                        <env>
                            <BP_NATIVE_IMAGE>true</BP_NATIVE_IMAGE>
                        </env>
                    </image>
                </configuration>
            </plugin>

4.打包命令

mvn -Pnative -Dmaven.test.skip spring-boot:build-image 

5.验证
运行docker 服务, 可以看到 启动速度小于1s.

  1. 备注
    只是简单部署一个web接口服务的难度不大,难点在于集成其它组件。并不是所有组件都会立刻更新支持最新的native包,
    比如java21下我用tomcat 做服务就啥错都不报,但是切成undertow每次第一次调用接口就会报错,但不影响结果
    比如java21下我用jpa做orm就没问题,但是mybits配置云原生设置后用有java版本的异常,导致无法启动
    总之用原生打包关键要验证所有使用三方库适配情况,项目中使用了反射的地方也要多验证。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容