目录
一、使用场景
二、问题描述
三、原因排查
四、解决方案
一、使用场景
原来项目是OpenJDK8+tomcat9构建,现在需要升级到OpenJDK17+tomcat10的组合。原来的webservice项目打包成aar格式,通过axis2部署在tomcat上。
二、问题描述
在配置好jdk和tomcat环境后,先将axis2最新的war包文件丢到tomcat目录webapp文件,将对应的aar包放到tomcat目录webapps/axis2/WEB-INF/services的里面,再通过startup.sh启动tomcat,访问axis2地址正常,但是就是无法访问到部署service服务。
点Services后报Requested resource not found!错,日志当中也没有记录。
三、原因排查
先确保aar文件没有问题,排查日志也没有具体定位,让我们重新回到官网去查看说明。
仔细看这段话,翻译过来就是:
Tomcat10以后版本的用户应该知道,作为Java EE向Eclipse Foundation转移的一部分,从Java EE迁移到Jakarta EE,所有实现的API的主包都已从javax.*更改为Jakarta.*。这几乎肯定需要更改代码才能使应用程序从Tomcat9及更早版本迁移到Tomcat10及更高版本。已经开发了一个迁移工具来帮助这一进程。
参考配置文件说明 https://tomcat.apache.org/tomcat-10.0-doc/config/host.html
四、解决方案
只需要在${Tomcat 安装目录下}新建 webapps-javaee,把打包好的WAR文件放在此处,启动tomcat即可。tomcat自动将Java EE 迁移至 Jakarta EE。
在tomcat自动迁移后,新的文件会在webapps目录里面,我们只需要把我们业务相关的aar包重新放入到webapps/axis2/WEB-INF/services里面即可正常访问。
附加