feign 【已解决】报错 org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient.choose
时间:2023-11-20 11:37:01
org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient.choose(Ljava/lang/String;Lorg/springframework/cloud/client/loadbalancer/Request;)Lorg/springframework/cloud/client/ServiceInstance;
报错原因 2.x\3.x的spring cloud自带 ribbon
主要原因是还是jar包冲突,nacos依赖的ribbon和springcloud的ribbon同一方法有不同的实现,不兼容。
排除掉nacos的spring-cloud-starter-netflix-ribbon依赖:
本质上是jar包冲突,nacosnacos依赖的ribbon和springcloud的ribbon同一方法的不同实现导致不兼容。
解决方法:
1.在库中将ribbon删掉nacos的ribbon jar包
删掉这两个
Maven: org.springframework.cloud:spring-cloud-netflix-ribbon:2.2.10.RELEASE Maven: org.springframework.cloud; spring-cloud-starter-netflix-ribbon:2.2.10.RELEASE
2.在pom排除依赖
com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery org.springframework.cloud spring-cloud-starter-netflex-ribbon org.springframework.cloud spring-cloud-netflex-ribbon
又被一个错误浪费了半天。一开始,全局异常处理没有关闭,导致另一个错误 feign远程调用方法是错误的,但没有报告错误的日志,来回检查代码几次,只是想关闭整体异常处理。必要时,或者相信你的代码没有错,找到其他问题,否则就是浪费时间。