【发布时间】:2022-01-20 07:44:52
【问题描述】:
说明
当我开发我的 java 项目时,我使用:Java version: 1.8,Apache Tomcat version 9.0.x
然后,我使用Tomcat 10.0.x 运行我的项目(在我的项目中进行了少量修改)。我不得不将 javax 包相关导入更改为 jakarta 包导入。
当我构建项目时,出现以下错误;
java: cannot access javax.servlet.ServletException
class file for javax.servlet.ServletException not found
修复
当我搜索修复时,我发现我需要在我的 pom.xml 文件中包含 Java Servlet API 依赖项。这样我就可以成功构建项目了。
<!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
<scope>provided</scope>
</dependency>
问题
- 为什么我必须包含
Java Servlet API依赖项当我 迁移到 Tomcat 10 吗? - 我确实包含了
Java Servlet API依赖项, 但这是正确的解决方法吗?
【问题讨论】:
-
stackoverflow.com/questions/64387472/…已经回答了这个问题,它将解释您遇到问题的原因。
-
您需要的是
jakarta.servlet-api5 或更高版本。
标签: java tomcat java-8 tomcat9 tomcat10