问题描述


java.lang.NoClassDefFoundError: javax/servlet/http/HttpServlet
java.lang.ClassNotFoundException: javax.servlet.http.HttpServlet

解决方法

Tomcat10官网详情
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>
最后修改:2022 年 04 月 20 日
如果觉得我的文章对你有用,请随意赞赏