Spring Boot 2.6.0引入spring-cloud-starter-openfeign后依赖解析报错如何解决
问题原因
你当前使用的Spring Cloud 2021.0.0-RC1属于预发布里程碑版本,本身依赖兼容性没有经过完整验证,添加openfeign依赖时会触发依赖树的版本冲突,导致所有依赖解析异常。另外Spring Boot 2.6.0和RC版本的Spring Cloud组合也存在已知的Feign依赖适配缺陷。
解决方案
第一步:替换为正式稳定版的Spring Cloud依赖
修改pom.xml中properties节点的spring-cloud版本配置:<spring-cloud.version>2021.0.0</spring-cloud.version>2021.0.0是Spring Cloud Jubilee系列的第一个正式发布版本,完美适配Spring Boot 2.6.x版本,无需修改Spring Boot父依赖版本。如果不需要使用预发布组件,可以同步删除pom.xml末尾的spring-milestones仓库配置,减少依赖拉取异常概率。
第二步:正确添加openfeign依赖
在dependencies节点下添加如下依赖,无需手动指定版本,由spring-cloud-dependencies统一管理:<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId> </dependency>第三步:清理Maven缓存并重新构建
执行命令强制更新所有依赖,避免本地缓存的损坏依赖影响构建:mvn clean install -U第四步:完成Feign调用的必要配置
- 在服务启动类上添加
@EnableFeignClients注解,开启Feign组件的自动扫描 - 编写对应目标服务的Feign接口,示例如下:
@FeignClient(name = "你要调用的目标服务的spring.application.name配置值") public interface ConfigServiceFeignProxy { // 此处方法签名、参数、请求路径与目标服务的接口完全保持一致即可 @GetMapping("/目标接口路径") 返回值类型 自定义方法名(参数列表); }- 业务代码中直接注入上述Feign接口,即可调用目标服务的对应接口
- 在服务启动类上添加
额外排查点
如果修改后仍然存在依赖解析异常,检查你的Maven全局配置是否配置了私有镜像,部分镜像源同步Spring官方依赖存在延迟,切换为正式版Spring Cloud后该问题基本都会自动解决。
内容的提问来源于stack exchange,提问作者Nikhil Bhutani
相关产品推荐
相关产品推荐

