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

Spring Boot 3迁移:Spring Cloud Contract WireMock版本兼容咨询

Spring Boot 3 迁移中 Spring Cloud Contract WireMock 适配方案

核心适配原则

Spring Boot 3 对应 Spring Cloud 2022.0.x(代号 Kilburn),该版本的 spring-cloud-contract-wiremock 已适配 WireMock 新 groupId(org.wiremock),无需手动混用旧的 com.github.tomakehurst 依赖。

是否移除 spring-cloud-contract-wiremock?

  • 若仅用 WireMock 做接口 Mock,不需要 Spring Cloud Contract 的契约测试能力,可直接移除 spring-cloud-contract-wiremock,直接引入 org.wiremock:wiremock-standalone 或 org.wiremock:wiremock-core(WireMock 3.x 已不再区分 jre8 版本)。
  • 若依赖 Spring Cloud Contract 的契约生成、Stub 发布等能力,必须保留 spring-cloud-contract-wiremock,但要确保版本与 Spring Cloud 版本匹配。

推荐版本组合

保留 Spring Cloud Contract WireMock 的场景

使用 Spring Cloud 2022.0.x 版本,对应 spring-cloud-contract-wiremock 稳定版为 4.0.4,它会自动引入兼容的 WireMock 3.x 版本,无需手动指定,避免版本冲突:

<!-- Spring Cloud 2022.0.x 依赖管理 -->
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-dependencies</artifactId>
      <version>2022.0.4</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<!-- 仅需引入此依赖,WireMock 会自动关联 -->
<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-contract-wiremock</artifactId>
  <scope>test</scope>
</dependency>

仅使用 WireMock 的场景

直接引入 WireMock 3.x 稳定版配合 Spring Boot 3:

<dependency>
  <groupId>org.wiremock</groupId>
  <artifactId>wiremock-standalone</artifactId>
  <version>3.8.0</version>
  <scope>test</scope>
</dependency>

日志无法获取的解决

  • 调整日志配置,将 WireMock 相关日志级别设为 INFO 或 DEBUG,例如在 application-test.yml 中:
logging:
  level:
    org.wiremock: INFO
    com.github.tomakehurst: INFO # 若存在旧依赖残留需配置
  • 用 mvn dependency:tree 或 gradle dependencies 检查依赖树,排查是否有 slf4j、logback 等日志组件的冲突或被排除情况。

升级 spring-cloud-contract-wiremock 4.* 遇问题的排查方向

  1. 依赖冲突:检查是否有旧的 com.github.tomakehurst:wiremock-* 依赖被间接引入,通过排除规则清理:
<dependency>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-contract-wiremock</artifactId>
  <scope>test</scope>
  <exclusions>
    <exclusion>
      <groupId>com.github.tomakehurst</groupId>
      <artifactId>wiremock-jre8-standalone</artifactId>
    </exclusion>
  </exclusions>
</dependency>
  1. API 适配:WireMock 3.x 对比 2.x 有较多 API 变更,比如 Stub 定义方式、配置类结构,需检查测试代码是否适配新 API。
  2. 版本兼容性:确保所有相关依赖都适配 Spring Boot 3,Spring Cloud 版本必须为 2022.0.x 及以上,禁止混用旧版 Spring Cloud。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 14:40:07