2022-07-20 23:42:08.379 INFO 15848 --- [ main] o.s.c.openfeign.FeignClientFactoryBean : For 'gulimall-
coupon' URL not provided. Will try picking an instance via load-balancing.
2022-07-20 23:42:08.381 WARN 15848 --- [ main] ConfigServletWebServerApplicationContext : Exception
encountered during context initialization - cancelling refresh attempt:
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memberController':
Unsatisfied dependency expressed through field 'couponFeignService'; nested exception is
org.springframework.beans.factory.BeanCreationException: Error creating bean with name
'com.atguigu.gulimall.member.feign.CouponFeignService': Unexpected exception during bean creation; nested exception is
java.lang.IllegalStateException: No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-
starter-loadbalancer?
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name
'com.atguigu.gulimall.member.feign.CouponFeignService': Unexpected exception during bean creation; nested exception is
java.lang.IllegalStateException: **No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-
starter-loadbalancer?**
错误: No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-
starter-loadbalancer?
错误原因: ribbon、hystrix 和 zuul从Spring Cloud 2020.0正式版发布后将不再被Spring Cloud支持。
解决方法:
引入spring-cloud-loadbalancer就可以解决,我这里是直接在子模块引入,公共模块移除ribbon:
# member
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-loadbalancer</artifactId>
</dependency>
# commom
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
</exclusion>
</exclusions>
</dependency>