官方推荐版本: SpringCloudAlibaba
本人项目使用版本
Spring Cloud Version | Spring Cloud Alibaba Version | Spring Boot Version |
---|---|---|
2020.0.1 | 2.2.5.RELEASE | 2.4.2 |
Q:为什么SpringCloudAlibaba未使用官方推荐的2021.1版本
因为项目中引用的spring-cloud-starter-alibaba-nacos-config
,使用官方指定版本2021.1
,需要手动指定版本号为nacos-config版本为2.2.5.RELEASE
,否则的话nacos无法实现负载均衡
1. 项目无法加载bootstrap文件
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
2.引入openFeign后启动失败
报错信息:
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?
错误原因
由于SpringCloud Feign在Hoxton.M2 RELEASED版本之后不再使用Ribbon而是使用spring-cloud-loadbalancer,所以不引入spring-cloud-loadbalancer会报错
解决办法
- 引入loadbalancer依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-loadbalancer</artifactId>
</dependency>
- 排除依赖,如果使用了nacos作为注册中心,nacos默认引入的负载均衡组件为ribbon,我们需要排除ribbon的依赖
<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>