SpirngCloud整合Feign报错解决方案
问题描述
SpringCloud项目在准备整合Feign时报错
spring-cloud-dependencies 没问题,但是Feign的依赖却爆红
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>2022.0.5</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>
报错信息:
org.springframework.cloud:spring-cloud-starter-openfeign:jar:unknown was not found inhttps://repo.maven.apache.org/maven2 during a previous attempt.
This failure was cached in the local repository and resolution is not reattempted until the update interval of central has elapsed or updates are forced
解决方案
1. 检查springboot版本号是否与springcloud版本号对应
详细对应关系见SpringCloud官网 SpringCloud官网
2.检查Feign版本号是否有冲突
如果手动定义了版本号就需要检查是否与当前项目其他依赖是否冲突。根据springboot的 约定大于配置 的原则,会优先选择指定的版本号。如:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>4.0.4</version>
</dependency>
但是强烈建议不用在这个手动配置,即在这里使用父依赖自动配置的版本。
spring-cloud-dependencies 中已经有对应的版本配置
3. 检查maven是否切换
我发现这个报错的时候就在网上找解决方案,结果都是说springcloud的版本出现问题。我后来发现,两者的报错信息不太相同,比如如果输入错误的版本号:
Could not find artifact org.springframework.cloud:spring-cloud-starter-openfeign:pom:2022.0.5 in alimaven (https://maven.aliyun.com/repository/public)
而我出现的问题是因为maven没有切换,之前重新下载了maven并且配置了镜像,但是本项目中没有更换,所以大家如果出现这类的问题需要检查一下自己的maven是否配置完全
最后检查一下maven生成的依赖项