You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot 3微服务使用Jib Maven插件构建镜像报错排查

Jib Maven插件构建Docker镜像报错解决方案

错误原因

你遇到的Cannot find default setter in class com.google.cloud.tools.jib.maven.JibPluginConfiguration$PlatformParameters错误,根源有两个:

  • 配置格式错误:当前使用的Jib插件(2.5.2)不支持重复使用<platforms>标签,正确的多平台配置应该是在单个<platforms>下用<platform>子标签定义每个平台信息。
  • 插件版本过旧:Jib 2.5.2是2020年的版本,与Spring Boot 3、Java 17环境不兼容,导致反射读取配置时出现Setter方法找不到的问题。

修复方案

1. 升级Jib插件版本

将Jib插件版本升级到支持Java 17和Spring Boot 3的稳定版,比如3.4.0(可根据官方最新稳定版调整)。

2. 修正多平台配置格式

把原来重复的<platforms>标签替换为单个<platforms>,内部用<platform>包裹每个平台的架构与系统配置。

修改后的Jib插件配置示例

<plugin>
    <groupId>com.google.cloud.tools</groupId>
    <artifactId>jib-maven-plugin</artifactId>
    <!-- 升级到兼容Java17的版本 -->
    <version>3.4.0</version>
    <configuration>
        <from>
            <!-- 推荐使用更轻量的Temurin镜像,也可保留原openjdk:17 -->
            <image>eclipse-temurin:17-jre-alpine</image>
            <platforms>
                <platform>
                    <architecture>amd64</architecture>
                    <os>linux</os>
                </platform>
                <platform>
                    <architecture>arm64</architecture>
                    <os>linux</os>
                </platform>
            </platforms>
        </from>
        <to>
            <image>path/to:docker-hub</image>
        </to>
    </configuration>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>build</goal>
            </goals>
        </execution>
    </executions>
</plugin>

额外建议

  • 若不需要构建多平台镜像,可直接删除<platforms>相关配置,仅保留<from>下的<image>标签,简化配置同时避免格式问题。
  • 确保所有子模块的pom.xml继承了主pom的插件配置,或在子模块中正确引用Jib插件。

内容的提问来源于stack exchange,提问作者AG_1380

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 22:05:56