idea启动多个tomcat失败

Intellij idea中,为在本地调试两个系统之间的调用,配置两个本地tomcat server,设置不同的端口号,如8081和8082,Deploy中加入两个系统各自的Artifact xxx:war, Application context设置为“/“,即访问地址分别为http://localhost:8081/ 和 http://localhost:8082/ 。

问题来了,分别单独启动两个server时都能成功;但是同时启动两个系统时,两个系统都会出现问题。其中较先启动的server报错为:StandardServer.await: Invalid command ” received,然后会有一个系统报出异常,提示找不到xml或者properties等。

寻求解决方法

报出的找不到xml或properties等异常,肯定是误报,因为单独启动时是没有问题的。

根据StandardServer.await: Invalid command ” received百度或者google,得到的结果基本是端口的问题。但是我已经配置了不同的端口号,除上述的http port外,我还查看了server.xml中的shut down port、ajp port等等,均不相同。大略可以排除端口号的问题。

请教同事,同事解释Application context不能同为”/”,Intellij会将web发布到tomcat目录下的ROOT中,两者必然冲突。提供了两种解决方案:

  1. Application context区别开,如”/weba/”和”/webb/”
  2. 将tomcat安装目录复制一份,用两套tomcat部署

我恍然同时,又觉得Eclipse完全可以实现啊,Intellij这都实现不了是不是有点low了。

问题解决

最终的最终,我发现了问题所在。在Deploy中加入的Artifact不应该是war,而应该选择第二种war explored!

搜索了war和war explored的区别。网上大都在讨论两者最大的区别是explored支持热加载,方便本地修改调试。但是针对本文的问题,没有找到直接解释。

自己浅析一下:war理所当然会打为war包,发布时候脱离了你本地项目目录,发布到了Tomcat目录\webapps\ROOT下;explored方式,是将web root指向了你的本地项目。因此war形式会产生冲突,而explored方式不会,且explored方式可以热加载。

转载自:http://blog.csdn.net/unifirst/article/details/52153950

但经验证,两个项目都设置成 war explored还是会报错,于是只能一个设置成war 另一个设置成war explored。这样就可以了,还有一种就是设置两个项目的Application context不能同为”/” 。让运行的资源分开放。

时间: 2024-10-12 11:22:00

idea启动多个tomcat失败的相关文章

cmd-部署servlet后,启动tomcat失败

问题描述 部署servlet后,启动tomcat失败 写了一个简单的servlet,部署到tomcat,在cmd中直接启动遇到报错,以下贴上三条我觉得可能比较重要的提示信息,求解,谢谢! 27-Feb-2016 22:25:10.849 SEVERE [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start: org.apache.ca

tomcat eclipse启动tomcat失败了,刚开始学这个,希望有人帮忙看下

问题描述 tomcat eclipse启动tomcat失败了,刚开始学这个,希望有人帮忙看下 刚开始在eclipse里面安装tomcat,tomcat放在F盘下,前面添加的步骤都按照网上教程弄了,应该没有什么错误,不过在写好代码,准备要运行的时候,不知道如何操作, 下面几张图片 不知道哪里错误了,弹出红框. 解决方案 你装的哪种tomcat?集成到eclise的tomcat不需要安装,解压后在Windows-->perferences配置一下就好了.需要安装的那个它启动是通过目录下面有个moni

解决方案-Myeclipse中启动Tomcat失败。

问题描述 Myeclipse中启动Tomcat失败. 我的Myeclipse版本是8.6. Tomcat版本是7.0. 今天在Myeclipse里启动Tomcat也没有报错,走到最下面那个地方就不动了. 按照在网上找的解决办法,将server.xml文件中的端口号改成其他的 8088.8099....还是不行 又变成: 信息: Initializing ProtocolHandler ["http-apr-8088"]这种了. 我单独启tomcat是没有问题的,在Myeclipse里就

start-本地shell利用expect 执行远程主机脚本启动tomcat失败,无法启动。

问题描述 本地shell利用expect 执行远程主机脚本启动tomcat失败,无法启动. 本地shell脚本利用expect 执行远程主机脚本,远程脚本中设置了环境变量,使用catalina.sh start启动tomcat,但是无法启动,logs/下只有catalina.out并且无内容,登陆到远程主机执行脚本可以正常启动tomcat,是什么原因? 解决方案 看一下catalina.out,里面有没有什么错误提示之类的 解决方案二: 看一下日志文件,报的什么错.粘出来看看

在同一系统中同时启动多个tomcat以及配置和修改

如果不修改tomcat的任何配置信息,在同一电脑中同时启动多个tomcat,显然是不可能的,会有端口占用冲突.因此,想同时启动多个tomcat,必须修改配置文件的一些端口号. 从网上看了一些,感觉太复杂,于是开始自己实验,并且整理记录如下(以tomcat6.0.37版本为例): 修改 ${TOMCAT_HOME}/conf/server.xml 文件如下内容: 1.修改 shutdown 端口,将"8005"改为其他端口(默认为8005端口): <Server port=&quo

关于maven远程部署多模块web项目到tomcat失败问题

问题描述 关于maven远程部署多模块web项目到tomcat失败问题 主模块: <?xml version=""1.0"" encoding=""UTF-8""?><project xmlns=""http://maven.apache.org/POM/4.0.0"" xmlns:xsi=""http://www.w3.org/2001/XMLSc

studio-Visual Studio 建立数据库时启动用户实例进失败。。

问题描述 Visual Studio 建立数据库时启动用户实例进失败.. 解决方案 是不是你给的用户名和密码错误,你仔细看看,在一个就是Windows服务里你是不是把相关服务给禁止了! 解决方案二: 我用mfv连的时候也遇到过这种情况,后来我把连接字符串写死 就行了 再写活就好了 我也不知道是怎么回事儿

android eclipse-关于eclipce启动加载SDK失败的问题

问题描述 关于eclipce启动加载SDK失败的问题 如图,刚刚启动的eclipce,系统显示找不到d盘devices的声明,我的SDK是放在D盘的根目录的android_sdk_window目录下的,请各位大神们帮忙解决下呗 解决方案 为何不下载adt bundle? adt google已经不用了, 早就改成Android Studio 路径尽量不要带中文哈

Websphere 7服务器已启动,但是初始化失败

问题描述 软件版本:was7.0硬件环境:win7旗舰版SP164bit下面是安装完成后安装验证的报错信息================================服务器名为:server1概要文件名为:AppSrv01概要文件Home为:D:IBMWebSphereAppServerprofilesAppSrv01概要文件类型为:default单元名为:Acmen-PCNode01Cell节点名为:Acmen-PCNode01当前编码为:GB18030开始运行以下命令:cmd.exe/c