启动Eureka时报错:Error creating bean with name ‘traceFilterRegistration’ defined in class path resource
#报错全文
Error starting Tomcat context. Exception: org.springframework.beans.factory.UnsatisfiedDependencyException. Message: Error creating bean with name ‘traceFilterRegistration’ defined in class path resource [org/springframework/cloud/netflix/eureka/server/EurekaServerAutoConfiguration.class]: Unsatisfied dependency expressed through method ‘traceFilterRegistration’ parameter 0; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type ‘javax.servlet.Filter’ available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Qualifier(value=httpTraceFilter)}
原因分析
springcloud和spring boot版本不匹配
解决方案
登录官网:https://spring.io/projects/spring-cloud
找到使用的版本并匹配相对应的版本到pom文件中
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR8</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.3.3.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
将spring cloud与spring boot版本相匹配
若还是启动报错,检查eureka-server依赖
org.springframework.cloud
spring-cloud-starter-eureka-server
1.4.7.RELEASE
应该就可以解决了。