解决springboot项目启动报错(java.lang.ClassNotFoundException: javax.servlet.ServletContext )
1.在运行SpringBoot时启动报错: 解决springboot项目启动报错(java.lang.ClassNotFoundException: javax.servlet.ServletContext )
Unable to start EmbeddedWebApplicationContext due to missing EmbeddedServletContainerFactory bean
2.旧版本的IDEA有个bug,就是scope为provided时启动不会加载所以会报错:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
3.可以把provided注释掉,但是如果打包时不需要这个包,每次都需要去掉注释就很难受了,而且还容易忘记。还有一些Tomcat本身就有的包也不需要打进工程,如:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>3.0-alpha-1</version>
<scope>provided</scope>
</dependency>
4.这个新的版本已经修复了,可以在官网下载新版本IntelliJ IDEA 2018.1.4,默认是勾选Include dependencies with “Provided” scope的,这样就不用每次注释了!

5.修改完毕,重启即可,正常访问
6.支持一下

本文介绍了解决SpringBoot项目启动时报错的问题,主要错误信息为java.lang.ClassNotFoundException:javax.servlet.ServletContext。文章分析了该问题的原因,并给出了具体的解决步骤,包括调整依赖范围和更新IDEA版本。
6594

被折叠的 条评论
为什么被折叠?



