本篇内容介绍了“如何解决springcloud中Feign导入依赖为unknow的问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
Feign导入依赖为unknow的情况
网上很多人在使用的feign时在pom.xml中的依赖为:
<!-- SpringCloud 整合 Feign --><dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-feign</artifactId></dependency>
但是在我个人的使用过程中始终没能成功,Maven的DeDependencies一直显示为:
spring-cloud-starter-feign:unknow
经过自己翻阅官方文档中发现这一句:
To include Feign in your project use the starter with group org.springframework.cloud and artifact id spring-cloud-starter-openfeign. See the Spring Cloud Project page for details on setting up your build system with the current Spring Cloud Release Train.
<!-- SpringCloud 整合 Feign --><dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-openfeign</artifactId></dependency>
Feign注解导入失败的处理
学习SpringCloud(Finchley.M8) Feign时,总是不能导入这两个注解@EnableFeignClients,@FeignClient ,事实上pom.xml已经导入了依赖spring-cloud-starter-openfeign,且SpringBoot的版本是2.0.0.RELEASE。
怀疑有部分依赖jar包下载不完整。由于不确定具体是哪几个或哪些jar包不完整,所以需要批量更新项目中所有失败的jar包。
打开命令行,运行如下命令,maven强制更新未完成的jar包
cd {project_home}mvn clean install -U
果然看到异常输出
[ERROR] 读取{maven_home}\org\springframework\cloud\spring-cloud-openfeign-core\2.0.0.M1\spring-cloud-openfeign-core-2.0.0.M1.jar时出错; invalid LOC header (bad signature)
手动删除此文件spring-cloud-openfeign-core-2.0.0.M1.jar
重新执行上面的maven命令,以强制更新jar包,再次抛出异常:
HiController中引用的SchedualServiceHi,自动注入失败。
为编译通过,先前已经把@FeignClient都注释了,当然不能自动注入了。
把Controller的相关代码也一并注释,第三次执行maven命令,强制更新jar包。成功。
用maven命令,更新成功jar包后,按Ctrl + Shif + O,就可以正常导入Feign的相关注解了。
“如何解决springcloud中Feign导入依赖为unknow的问题”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!