项目升级SpringBoot3:java.lang.ClassNotFoundException: javax.servlet.http.HttpServletRequest
报错解释:
java.lang.ClassNotFoundException: javax.servlet.http.HttpServlet
表示 JVM 无法找到 javax.servlet.http.HttpServlet
类。这通常是因为缺少了提供该类的 JAR 文件,即 Servlet API。
解决方法:
- 如果你正在升级 Spring Boot 3,并且你的项目不再是一个 web 应用程序,你可能需要从依赖中移除 Servlet API。
- 如果你的项目依然需要 Servlet API,确保你的项目中添加了正确的依赖。对于 Maven 项目,你可以添加如下依赖:
<dependency>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
<version>5.0.0</version>
<scope>provided</scope>
</dependency>
对于 Gradle 项目,添加:
dependencies {
providedCompile 'jakarta.servlet:jakarta.servlet-api:5.0.0'
}
- 如果你正在使用一个 Servlet 容器(如 Tomcat),确保容器本身包含了 Servlet API 或者在你的项目构建路径中包含了正确版本的 Servlet API JAR 文件。
确保你使用的依赖版本与 Spring Boot 3 兼容。如果你是从旧版本的 Servlet API 迁移到 Jakarta EE 9 的新命名空间(Jakarta EE),请注意命名空间的变化。
评论已关闭