问题描述
java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet
java.lang.ClassNotFoundException: javax.servlet.http.HttpServlet
解决方法
Tomcat 10 及更高版本的用户应该知道,由于作为 Java EE 转移到 Eclipse 基金会的一部分而从 Java EE 转移到 Jakarta EE,所有已实现 API 的主要包 javax.已从jakarta.. 这几乎肯定需要更改代码以使应用程序能够从 Tomcat 9 及更早版本迁移到 Tomcat 10 及更高版本。
所以maven添加的jar包改成:
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>5.0.0</version>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/jakarta.servlet.jsp/jakarta.servlet.jsp-api -->
<dependency>
<groupId>jakarta.servlet.jsp</groupId>
<artifactId>jakarta.servlet.jsp-api</artifactId>
<version>3.0.0</version>
<scope>provided</scope>
</dependency>