Java教程

Debug - Feign: Did you forget to include spring-cloud-starter-loadbalancer

本文主要是介绍Debug - Feign: Did you forget to include spring-cloud-starter-loadbalancer,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、错误信息

No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalancer

 

二、根本原因

由于SpringCloud Feign在Hoxton.M2 版本之后不再使用Ribbon而是使用spring-cloud-loadbalancer,所以不引入spring-cloud-loadbalancer会报错

 

三、解决方案

3.1 加入loadbalancer依赖,但需要exclude ribbon(实践可行)

此方案下的:

  • springboot版本: 2.5.3
  • springcloud版本: 2020.0.3

就算加入load balancer,但是依然会报同样的错。原因是:nacos中ribbon会造成loadbalanc包失效

所以要先exclude ribbon:

<!-- 服务注册与发现 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
            <version>2.2.0.RELEASE</version>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.cloud</groupId>
                    <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

 

再引入load balancer:

<!--load balancer-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-loadbalancer</artifactId>
            <version>2.2.2.RELEASE</version>
        </dependency>

 

3.2 SpringCloud, SpringBoot 降版本(实践出错)

修改它的pom文件中spring cloud的版本

修改了下spring boot版本

参考:https://www.cnblogs.com/npeng/p/14272634.html

 

这篇关于Debug - Feign: Did you forget to include spring-cloud-starter-loadbalancer的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!