Tomcat 10迁移后Psi Probe 5.0.0无法访问问题求助
Tomcat 10迁移后Psi Probe无法访问的解决思路
1. 优先确认版本兼容性
Tomcat 10基于Jakarta EE 9规范,核心变化是将原Java EE的javax.*包名统一替换为jakarta.*。而Psi Probe 5.0.0仅支持Tomcat 9及以下版本(对应Java EE环境),从5.1.0版本开始才正式适配Tomcat 10的Jakarta EE规范。直接替换为5.1.0或更高版本的probe.war重新部署,这是最可能解决问题的方案。
2. 查看Tomcat日志定位具体错误
如果升级版本后仍无响应,通过Tomcat日志排查根因:
- 查看
catalina.out:检查启动时的异常信息,比如类找不到(典型的javax.servlet相关类缺失,就是包名不兼容导致)、依赖加载失败等 - 查看
localhost.log:确认probe上下文的部署过程是否有错误,比如初始化失败、权限不足
常见错误示例:
java.lang.ClassNotFoundException: javax.servlet.ServletContextListener
这类错误直接指向Java EE与Jakarta EE的包名冲突,必须使用适配Jakarta的Psi Probe版本。
3. 验证部署配置正确性
- 确认
probe.war已被Tomcat正常解压到webapps/probe目录,若未自动解压,手动解压后再重启Tomcat - 检查上下文配置文件(
conf/Catalina/localhost/probe.xml)是否正确,示例正确配置:<Context path="/probe" docBase="${catalina.home}/webapps/probe" reloadable="true"/> - 确保Tomcat运行用户对
webapps目录有读写权限,避免因权限不足导致部署失败
4. 检查访问路径与端口有效性
- 确认访问URL格式正确:
http://<Tomcat地址>:<端口>/probe,本地默认环境为http://localhost:8080/probe - 检查Tomcat连接器端口是否正常监听,可通过
netstat或类似工具确认端口未被防火墙、其他程序占用
5. 排查类加载冲突
若你的业务应用中包含旧的javax.servlet相关依赖,可能与Psi Probe的Jakarta版本依赖冲突:
- 清理业务应用
WEB-INF/lib目录下的所有javax.servlet.*相关jar包(Tomcat 10已内置Jakarta版本的Servlet API) - 确保Psi Probe的
WEB-INF/lib目录中仅包含Jakarta规范的依赖jar
内容的提问来源于stack exchange,提问作者acco
相关产品推荐
相关产品推荐

