Tomcat 10缺失Javax类库,SOAP服务部署遇异常求助
问题根源
Tomcat 10及以上版本已经从Java EE切换到Jakarta EE规范,原来的javax.servlet包名统一改成了jakarta.servlet。你使用的Axis2版本如果未适配Jakarta EE,就会因找不到旧的javax.servlet.http.HttpServlet类抛出异常。
解决办法
优先方案:使用适配Jakarta EE的Axis2版本
这是最稳妥的解决方式,能避免后续更多兼容问题:
- 下载支持Jakarta EE的Axis2版本(比如1.8.2及之后的版本),替换项目中的旧版Axis2依赖即可。
- 该版本会自动适配Tomcat 10的
jakarta.servletAPI,无需额外添加任何javax类库。
临时应急方案:添加旧版javax.servlet类库(不推荐)
如果必须使用旧版Axis2,可按以下步骤操作:
- 获取
javax.servlet-api类库(例如版本4.0.1)。 - 将下载好的
javax.servlet-api-xxx.jar文件放置在你的Web项目的WEB-INF/lib目录下,绝对不要放入Tomcat的全局lib目录,否则会与Tomcat自带的Jakarta API产生冲突,引发更多问题。
内容的提问来源于stack exchange,提问作者vico
相关产品推荐
相关产品推荐

