You need to enable JavaScript to run this app. 升级至Spring Boot2.5.1与Spring Cloud2020.0.3时zuul、ribbon依赖版本缺失报错如何解决
优惠活动
大模型
产品
解决方案
定价
更多

升级至Spring Boot2.5.1与Spring Cloud2020.0.3时zuul、ribbon依赖版本缺失报错如何解决

问题根因

Spring Cloud 从2020.0.x(代号Ilford)版本开始,正式移除了所有已进入维护模式的Netflix OSS组件的依赖管理声明,其中就包含spring-cloud-starter-netflix-zuul和spring-cloud-starter-netflix-ribbon,因此你引入的spring-cloud-dependencies:2020.0.3 BOM中没有这两个依赖的版本号,才会触发版本缺失的报错。

解决方案

方案1:短期兼容(手动指定版本,不替换现有组件)

如果你暂时不想修改现有业务代码,可以手动为这两个依赖指定最后一个可用的兼容版本2.2.10.RELEASE,修改依赖声明即可:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
    <version>2.2.10.RELEASE</version>
</dependency>
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
    <version>2.2.10.RELEASE</version>
</dependency>

注意:该方案仅为临时过渡方案,zuul和ribbon已经停止官方更新,后续可能存在兼容性和安全风险
采用该方案时还需要在项目配置文件中添加配置,开启Ribbon的自动配置支持:

spring.cloud.loadbalancer.ribbon.enabled=true

方案2:长期适配(替换为官方推荐组件,建议采用)

这是Spring官方推荐的升级路径,后续维护性和兼容性更有保障:

  • 网关组件替换:将spring-cloud-starter-netflix-zuul替换为spring-cloud-starter-gateway,Spring Cloud Gateway是官方推出的第二代网关,性能更高,支持响应式编程
  • 负载均衡组件替换:将spring-cloud-starter-netflix-ribbon替换为spring-cloud-starter-loadbalancer,这是官方推出的新一代负载均衡组件,兼容现有的负载均衡调用逻辑

替换后不需要额外指定版本,直接从spring-cloud-dependencies:2020.0.3的BOM中即可继承到正确的版本号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 19:54:09