Smart Tomcat并行部署多端口应用时先启动实例被卸载问题求助
排查思路
检查Smart Tomcat实例唯一性配置
- 确认两个门户的Tomcat配置中,
Tomcat Instance Name设置为不同值(如portal200-tomcat和portal300-tomcat),避免插件将其判定为同一实例而覆盖。 - 核实
Base Directory(基础目录)路径,确保两个实例指向独立的目录,防止共用临时文件、工作目录引发资源冲突。
- 确认两个门户的Tomcat配置中,
验证JVM启动参数冲突
- 检查两个实例的
VM Options,确认-Dcatalina.base、-Dcatalina.home参数分别指向各自独立的Tomcat配置目录,避免共用配置导致进程覆盖。 - 排查是否设置了相同的
-Djava.io.tmpdir,共用临时目录可能引发Tomcat会话、缓存文件互相干扰。
- 检查两个实例的
检查IDE运行配置的冲突项
- 在IDE的「运行/调试配置」中,确认两个Smart Tomcat配置为独立条目,且取消勾选「启动前停止其他实例」类选项(部分IDE默认开启该选项会导致旧进程被终止)。
排查Tomcat非HTTP端口的重复配置
- 除HTTP端口外,检查SHUTDOWN端口(默认8005)、AJP端口(默认8009),确保两个实例的这些端口完全不重复,可通过各自
server.xml或Smart Tomcat插件的端口配置页修改。 - 确认不存在共用全局Tomcat配置文件(如
conf/server.xml)的情况,避免配置冲突导致进程异常。
- 除HTTP端口外,检查SHUTDOWN端口(默认8005)、AJP端口(默认8009),确保两个实例的这些端口完全不重复,可通过各自
核对项目部署上下文配置
- 确认两个门户的
context path设置为不同值(如/portal200和/portal300),防止部署时上下文路径冲突被插件误判为同一应用。 - 检查项目是否存在共用全局资源(如数据库连接池、分布式缓存),这类资源抢占可能导致前一个进程被迫退出。
- 确认两个门户的
检查插件日志关联配置
- 在Smart Tomcat配置中设置独立的日志输出文件路径,避免两个实例的控制台日志被IDE错误关联混写。
内容的提问来源于stack exchange,提问作者The_new_coder
相关产品推荐
相关产品推荐

