如何为mvn spring-boot:build-image替换paketo-buildpacks/bellsoft-liberica
替换Spring Boot build-image的JVM为Paketo Adoptium构建包
要将Spring Boot build-image 目标使用的JVM替换为paketo-buildpacks/adoptium,可以通过以下两种方式实现:
方法1:修改pom.xml配置
直接在spring-boot-maven-plugin的镜像配置中指定要使用的Adoptium构建包,同时排除builder默认的JVM构建包(避免冲突)。修改后的插件配置如下:
<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <image> <builder>jfrog.mycompany.com/paketobuildpacks/builder:base</builder> <runImage>jfrog.mycompany.com/paketobuildpacks/run:base-cnb</runImage> <!-- 指定使用Adoptium构建包,并排除默认的JVM构建包 --> <buildpacks> <buildpack>paketo-buildpacks/adoptium</buildpack> <excludeBuildpack>paketo-buildpacks/bellsoft-liberica</excludeBuildpack> </buildpacks> <!-- 可选:指定具体JVM版本 --> <env> <BP_JVM_VERSION>17</BP_JVM_VERSION> </env> </image> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin>
说明:
<buildpacks>会覆盖builder默认的构建包优先级,确保优先使用Adoptium构建包<excludeBuildpack>用于排除builder自带的其他JVM构建包(比如BellSoft Liberica),避免构建时出现冲突<BP_JVM_VERSION>可指定具体的JVM版本(如8、11、17等),适配项目需求
方法2:命令行参数临时指定
如果不想修改pom.xml,可以在执行构建命令时通过系统属性直接指定构建包:
mvn spring-boot:build-image \ -Dspring-boot.build-image.buildpacks=paketo-buildpacks/adoptium \ -Dspring-boot.build-image.excludeBuildpacks=paketo-buildpacks/bellsoft-liberica \ -Dspring-boot.build-image.env.BP_JVM_VERSION=17
这种方式适合临时切换JVM构建包的场景,无需改动项目配置文件。
内容的提问来源于stack exchange,提问作者Raja Anbazhagan
相关产品推荐
相关产品推荐

