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

为何Spring Cloud Sleuth未纳入Spring Cloud BOM?Gradle依赖问题

问题原因与解决方案

为什么Sleuth依赖无法解析?

Spring Cloud 2022.0.x(代号Kilburn)版本开始,Spring Cloud Sleuth已从Spring Cloud核心依赖管理BOM(spring-cloud-dependencies)中分离,成为独立维护的组件,拥有自己的版本线和专属BOM。你当前引入的spring-cloud-dependencies:2022.0.4里并不包含Sleuth的依赖版本定义,所以Gradle无法自动解析spring-cloud-starter-sleuth的版本,导致报错。

解决方法

在根项目的build.gradle中,单独引入Spring Cloud Sleuth的专属BOM,并指定与当前Spring Cloud版本匹配的Sleuth版本:

  1. 首先在ext块中添加Sleuth版本(Spring Cloud 2022.0.4对应Sleuth 3.1.4):
ext {
    springSecurityOauthVersion = '5.6.2'
    springCloudVersion = '2022.0.4'
    springBootVersion = '2.7.17'
    springCloudSleuthVersion = '3.1.4' // 添加Sleuth版本定义
}
  1. 在dependencyManagement的imports块中加入Sleuth的BOM:
allprojects {
    dependencyManagement {
        imports {
            mavenBom org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES
            mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}"
            mavenBom "org.springframework.cloud:spring-cloud-sleuth-dependencies:${springCloudSleuthVersion}" // 引入Sleuth专属BOM
        }
    }
}

修改完成后重新同步Gradle,spring-cloud-starter-sleuth就能正常解析了。

是否存在包含所有Spring Cloud依赖的BOM?

不存在所谓“包含所有Spring Cloud依赖”的统一BOM。Spring Cloud采用模块化设计,不同组件有独立的维护节奏和生命周期,核心BOM(spring-cloud-dependencies)仅包含核心组件的依赖管理,像Sleuth这类拆分出去的组件需要单独引入其专属BOM。你只需根据项目实际使用的组件,按需引入对应的BOM或直接声明依赖即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 04:35:12