赞
踩
今天使用tomcat10的时候,出现了以上错误,花费了很多时间百度,发现是tomcat10之后“javax.servlet”变成了“jakarta.servlet”,由于我使用的是吗maven来管理项目依赖,就只需要将
- <dependency>
- <groupId>javax.servlet</groupId>
- <artifactId>javax.servlet-api</artifactId>
- <version>4.0.1</version>
- </dependency>
换成:
- <dependency>
- <groupId>jakarta.servlet</groupId>
- <artifactId>jakarta.servlet-api</artifactId>
- <version>5.0.0</version>
- <scope>provided</scope>
- </dependency>
-
- <dependency>
- <groupId>jakarta.servlet.jsp</groupId>
- <artifactId>jakarta.servlet.jsp-api</artifactId>
- <version>3.0.0</version>
- <scope>provided</scope>
- </dependency>
但是我替换之后,发现启动服务器的时候出现:严重 [RMI TCP Connection(2)-127.0.0.1]
org.apache.tomcat.util.modeler.BaseModelMBean.invoke 调用方法[manageApp]时发生异常
后经过百度,发现是我的web.xml文件有点小问题
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0">
在这里version="4.0"对应的是tomcat9.0的版本,而我用的是tomcat10的版本,就需要将上面换成
<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd" version="5.0" metadata-complete="false">
其中metadata-complete="false"是指支持@WebServle("")注解方式开发,如果为true则表示不支持注解
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。