这是我的 Eclipse 范围的 JRE 定义,清楚地显示已添加 servlet-api.jar:
这里有同样的旧导入错误,似乎永远无法解决。 Java不是很棒吗?有人有可能对为什么这仍然不起作用有一个简单、事实的答案吗?
jakarta.servlet
versus javax.servlet
有人有可能对为什么这仍然不起作用有一个简单、事实的答案吗?
Because:
- 您正在针对 Tomcat 10.0.10 servlet-api JAR 文件进行构建。
- Tomcat 10.0.x 实现了 Servlet 规范 5.0 版;看http://tomcat.apache.org/whichversion.html http://tomcat.apache.org/whichversion.html
- Servlet 5.0 是 Jakarta EE,而不是 Java EE;看https://en.wikipedia.org/wiki/Jakarta_Servlet#History https://en.wikipedia.org/wiki/Jakarta_Servlet#History
- 在 Jakarta EE 的更高版本中,servlet 类的包名称已从
javax.servlet
to jakarta.servlet
.
并且您的代码正在尝试使用old包裹名字。
解决方案:
- 更改您的 webapp 代码以从new
jakarta.servlet
包,或
- 回滚到支持旧版本 Servlet 规范的 Tomcat 版本;即 Tomcat 9.0.x 或更早版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)