解决IDEA启动springboot项目报错java.lang.ClassNotFoundException: javax.servlet.ServletContext
IDEA启动springboot报错java.lang.ClassNotFoundException: javax.servlet.ServletContext
在IntelliJ IDEA里建了个Maven项目(用的spring boot)创建项目时操作跟之前在eclipse操作步骤基本差不多;
IDEA配置的spring boot项目的tomcat依赖为
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>其中<scope>provided</scope>的含义下次单开篇文章详细说明。
启动时报错java.lang.ClassNotFoundException: javax.servlet.ServletContext
后面试了一下,把范围标识 provided 改成 compile ,发现就可以运行了,所以就是 Run Application时,IDEA未加载 provided 范围的依赖包,导致启动时报错(eclipse里面好像默认会加载,所以在那边是能正确运行的)
解决方式
Run ->Edit Configurations


将选项Include dependencies with “Provided” scope勾上。
参考说明:
For the Spring Boot applications, the Include dependencies with “Provided” scope option is enabled by default. (按理说对于Spring-Boot项目默认是启用的,我这默认没启用所以报错)
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
- SpringBoot集成WebServlet出现自定义servlet请求失败的问题解决方案
- SpringBoot里使用Servlet进行请求的实现示例
- springboot扫描自定义的servlet和filter代码详解
- Springboot注入成员变量HttpServletRequest的原理分析
- SpringBoot3.1.2 引入Swagger报错Type javax.servlet.http.HttpServletRequest not present解决办法
- SpringBoot获取HttpServletRequest的3种方式总结
- Springboot如何添加server.servlet.context-path相关使用
- SpringBoot项目找不到javax.servlet.Filter的问题及解决
- SpringBoot如何切换成其它的嵌入式Servlet容器(Jetty和Undertow)
相关文章
Maven继承父工程时的relativePath标签解析用法小结
relativePath 的作用是为了找到父级工程的pom.xml,本文主要介绍了Maven继承父工程时的relativePath标签解析用法小结,具有一定的参考价值,感兴趣的可以了解一下2024-03-03
Spring Cloud 整合 nacos实现动态配置中心的详细步骤
这篇文章主要介绍了Spring Cloud 整合 nacos 实现动态配置中心,整合步骤是通过添加依赖新建nacos配置,本文分步骤通过实例代码给大家详细讲解,需要的朋友可以参考下2022-10-10
Spring Boot使用Value注解给静态变量赋值的方法
这篇文章主要介绍了Spring Boot使用Value注解给静态变量赋值的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-07-07
mybatis3中@SelectProvider传递参数方式
这篇文章主要介绍了mybatis3中@SelectProvider传递参数方式。具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-08-08


最新评论