springboot项目在eclipse中正常启动运行,在idea中启动就报错
2022-08-08 16:40:29.968 INFO [main][Jdk14Logger.java:87] - Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@28cda624: startup date [Mon Aug 08 16:40:29 CST 2022]; root of context hierarchy
2022-08-08 16:40:30.419 INFO [main][Jdk14Logger.java:87] - Bean 'configurationPropertiesRebinderAutoConfiguration' of type [org.springframework.cloud.autoconfigure.ConfigurationPropertiesRebinderAutoConfiguration$$EnhancerBySpringCGLIB$$7167f0e5] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2022-08-08 16:40:31.388 INFO [main][Jdk14Logger.java:87] - No active profile set, falling back to default profiles: default
2022-08-08 16:40:31.418 INFO [main][Jdk14Logger.java:87] - Refreshing org.springframework.context.annotation.AnnotationConfigApplicationContext@21aa6d6c: startup date [Mon Aug 08 16:40:31 CST 2022]; parent: org.springframework.context.annotation.AnnotationConfigApplicationContext@28cda624
2022-08-08 16:40:33.614 WARN [main][Jdk14Logger.java:87] - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class [com.xxx.Application]; nested exception is org.springframework.core.NestedIOException: Failed to load class [javax.servlet.Filter]; nested exception is java.lang.ClassNotFoundException: javax.servlet.Filter
进程已结束,退出代码1
出现这个问题后,网上找了好多都没解决问题,后来按照如下步骤顺利解决,记录一下
第一步:
打开pom.xml文件找到如下位置:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
将<scope>provided</scope> 去掉
第二步:
增加如下依赖:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
最终效果如下:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<!-- <scope>provided</scope>-->
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
</dependency>
就可以顺利启动了