SpringCloud:Feign模块引用版本问题
本文内容纲要:
-1.问题报错
-2.解决办法
1.问题报错
org.springframework.beans.factory.BeanDefinitionStoreException:Failedtoprocessimportcandidatesforconfigurationclass[com.fdzang.microservice.gateway.GatewayApplication];nestedexceptionisjava.io.FileNotFoundException:classpathresource[org/springframework/boot/autoconfigure/web/ServerPropertiesAutoConfiguration.class]cannotbeopenedbecauseitdoesnotexist
Causedby:java.io.FileNotFoundException:classpathresource[org/springframework/boot/autoconfigure/web/ServerPropertiesAutoConfiguration.class]cannotbeopenedbecauseitdoesnotexist
atorg.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:180)~[spring-core-5.1.9.RELEASE.jar:5.1.9.RELEASE]
atorg.springframework.core.type.classreading.SimpleMetadataReader.<init>(SimpleMetadataReader.java:51)~[spring-core-5.1.9.RELEASE.jar:5.1.9.RELEASE]
atorg.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:103)~[spring-core-5.1.9.RELEASE.jar:5.1.9.RELEASE]
atorg.springframework.boot.type.classreading.ConcurrentReferenceCachingMetadataReaderFactory.createMetadataReader(ConcurrentReferenceCachingMetadataReaderFactory.java:86)~[spring-boot-2.1.7.RELEASE.jar:2.1.7.RELEASE]
atorg.springframework.boot.type.classreading.ConcurrentReferenceCachingMetadataReaderFactory.getMetadataReader(ConcurrentReferenceCachingMetadataReaderFactory.java:73)~[spring-boot-2.1.7.RELEASE.jar:2.1.7.RELEASE]
atorg.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:81)~[spring-core-5.1.9.RELEASE.jar:5.1.9.RELEASE]
atorg.springframework.context.annotation.ConfigurationClassParser.asSourceClass(ConfigurationClassParser.java:682)~[spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
atorg.springframework.context.annotation.ConfigurationClassParser$SourceClass.getRelated(ConfigurationClassParser.java:1074)~[spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
atorg.springframework.context.annotation.ConfigurationClassParser$SourceClass.getAnnotationAttributes(ConfigurationClassParser.java:1055)~[spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
atorg.springframework.context.annotation.ConfigurationClassParser.collectImports(ConfigurationClassParser.java:538)~[spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
atorg.springframework.context.annotation.ConfigurationClassParser.getImports(ConfigurationClassParser.java:511)~[spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
atorg.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:302)~[spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
atorg.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:242)~[spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
atorg.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:586)~[spring-context-5.1.9.RELEASE.jar:5.1.9.RELEASE]
...19commonframesomitted
从报错来看是文件找不到异常,推测是引用有问题,应该有依赖没有加进来
pom文件如下:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-feign</artifactId>
<version>1.4.7.RELEASE</version>
</dependency>
于是加入Hystrix相关依赖,依旧报错
2.解决办法
百度:https://blog.csdn.net/poem_2010/article/details/88847285
查看之后有点思路,就是Feign版本的问题,突然想起来之前写的一篇博客:https://www.cnblogs.com/fdzang/p/10304143.html
在新版本springcloud中新增了一个组件:spring-cloud-openfeign
SpringCloud对Feign的支持由org.springframework.cloud:spring-cloud-netflix-core移到org.springframework.cloud:spring-cloud-openfeign-core
于是去maven仓库搜索:spring-cloud-openfeign,没找到,找到了:spring-cloud-starter-openfeign
<!--https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-openfeign-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>2.1.3.RELEASE</version>
</dependency>
于是替换pom中feign相关依赖,并更新之前的注解引用,重启,完成。
本文内容总结:1.问题报错,2.解决办法,
原文链接:https://www.cnblogs.com/fdzang/p/11804822.html