1、问题概述?
springboot工程启动的时候报错,报错信息如下:
Caused by: java.lang.NoClassDefFoundError:javax/servlet/http/HttpServletRequest
at java.base/java.lang.Class.getDeclaredMethods0(Native Method)~[na:na]
at java.base/java.lang.Class.privategetDeclaredMethods0(Native Method)~[na:na]
at java.base/java.lang.Class.getDeclaredMethods0(Native Method)~[na:na]
......
2、问题分析及解决办法?
这个问题的本质就是你的项目中缺少servlet的包,问题是为什么需要这个包,什么地方用到了这个包。springboot工程提示这个问题,一般是你的项目中添加了tomcat的配置,既是如下信息:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
所以:第一种办法就是去除上面的包,如果上面的包对你没用的话。
第二种办法就是添加tomcat的包,但是不能主要包的供应商,正确的如下:
<dependency>
<groupId>java.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<dependency>