当我开发我的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>
为什么我在迁移到Tomcat 10时必须要包括Java Servlet API
的依赖关系?
迁移到Tomcat 10?
我确实包括了Java Servlet API
的依赖性。
但这是一个适当的修复吗?
为什么我在迁移到Tomcat 10时必须包括Java Servlet API的依赖性?
大概是因为你的应用程序对符合JSP 4.0.x规范的东西有依赖性。
我确实包括了Java Servlet API的依赖性,但这是一个适当的修复吗?
不,这不是正确的修复方法。 虽然你已经成功地构建了你的应用程序,但当你部署到Tomcat 10时,你大多数会得到类加载器错误。 这是因为Tomcat 10的运行库不提供
类。
javax.servlet.*
正确的做法是确定为什么你的应用程序或其依赖关系试图使用
中的类......并消除这一点。
javax.servlet
删除
/
/
的依赖性。
javax.servlet
javax.servlet-api
4.0.1
搜索你的应用程序代码库,找出任何剩余的对
的引用......并将其修改。
javax.servlet