在springcloud alibaba案例中,shop-orde模块是使用springboot模块生成的,使用基于Feign实现服务调用 pom.xml可能就会出现下面这个代码不能加载
<!--fegin组件-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
解决方法:
方法一:
<!-- https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-starter-alibaba-nacos-discovery -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.1.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<!-- 这个版本需要和spring-cloud-starter-alibaba-nacos-discovery这个依赖一样,否则会jar冲突-->
<version>2.1.2.RELEASE</version>
</dependency>
这两个依赖的版本改为一致的版本号,例如:spring-cloud-starter-alibaba-nacos-discovery依赖的版本是2.1.2.RELEASE,则spring-cloud-starter-openfeign版本也要改为一致
方法二:
如果不想修改为一样的版本号则单独引用一下archaius-core这个依赖,添加了这个依赖,spring-cloud-starter-openfeign依赖的版本就可以和spring-cloud-starter-alibaba-nacos-discovery不一样
<dependency>
<groupId>com.netflix.archaius</groupId>
<artifactId>archaius-core</artifactId>
<version>0.7.6</version>
<exclusions>
<exclusion>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</exclusion>
</exclusions>
</dependency>
重新加载依赖,解决问题!