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>

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐