当前位置: 首页 > news >正文

gulimall出现服务间调用org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient.choose 问题

java.lang.AbstractMethodError: org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient.choose(Ljava/lang/String;Lorg/springframework/cloud/client/loadbalancer/Request;)Lorg/springframework/cloud/client/ServiceInstance;

 

A调用B模块出现上面这个问题,那A模块需要移除 spring-cloud-starter-netflix-ribbon ,A 依赖common,而common依赖了spring-cloud-starter-netflix-ribbon ,所以需要

    <dependency><groupId>com.atguigu.gulimail</groupId><artifactId>gulimail-common</artifactId><version>0.0.1-SNAPSHOT</version><exclusions><exclusion><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-ribbon</artifactId></exclusion></exclusions></dependency>

 

具体原因:

👉 你的项目用了 Spring Cloud 2021(已经移除了 Ribbon),但是某个依赖又引入了 Ribbon 的类。

结果就是:

  • 代码期望调用新接口 choose(String, Request)

  • 运行时加载到的是旧版 Ribbon 的类,只提供 choose(String)

  • 方法对不上,所以报 AbstractMethodError

一句话:依赖里混进了 Ribbon,跟 Spring Cloud 版本不兼容。

总结

  • 根本原因:Ribbon 已经被移除,但你的依赖里还引入了 Ribbon。

  • 解决办法

    1. 确保 pom 里排除掉 spring-cloud-starter-netflix-ribbon

    2. 统一用 spring-cloud-starter-loadbalancer

    3. Feign/RestTemplate 都基于 LoadBalancer,就不会再触发这个错误。

 

http://www.wxhsa.cn/company.asp?id=1354

相关文章:

  • Java02课前问题列表
  • 达梦数据库安装和使用
  • CSP 赛前周记
  • Ubuntu 界面变为 Mac
  • Day16对数组的基本认识
  • PVE9环境下飞牛OS安装vGPU驱动
  • 02020304 .NET Core核心基础组件04-配置系统、Json文件配置、选项方式读取、扁平化环境变量其它配置源
  • md格式
  • CSP-S模拟20
  • 第7篇、Kafka Streams 与 Connect:企业级实时数据处理架构实践指南
  • Day16编写一个计算机程序
  • 迷宫最短路径
  • 千靶日记-0003
  • COMSOL 6.3 下载+安装教程+激活教程:一站式下载安装激活操作说明
  • 20231427-田泽航-Linux命令实践
  • 202207_BUGKU_二维码GIF
  • 20250910NOIP模拟赛
  • 分治 NTT 一则
  • U604938 你不准卡 O(n sqrt n log L) 其中 L log L = sqrt n
  • 20250906
  • 【2025最新推荐】AI大模型API中转站 | 国内直连ChatGPT/Claude/Gemini全系API接口服务
  • 在用灵魂去感受另一个灵魂的震颤
  • html怎么写
  • 谁拿了谁的伞?
  • NSSCTF-misc
  • 百粉粉福
  • lc1024-视频拼接
  • 多元统计分析1
  • OI界的梗
  • 202404_QQ_ZIP嵌套