开发的时候,有些时候需要同时启动两个项目。首先配置tomcat,方法如下:(转载自:http://bendan123812.iteye.com/blog/1716789)
一、把Tomcat复制一份并重新命名,我这里是E:\soft\apache-tomcat-study,然后修改conf/service.xml文件,把所有的端口号都改成别的(这一点非常重要),这样在同时启动两个tomcat的时候不会造成端口被占用的错误。
二、上图片
点击Create Launch Configuration,进入下一步:
(这里注意一点,在MyEclipse的servers视图里,右击,点击菜单“Configure server connector”也能进入下图,但是新建的tomcat在下图的“Debug”按钮却是灰色的,也就是不能用,所以还是要用上面的方法设置)
看到左侧的Tomcat 6.x(1)了吧,这个就是新的Tomcat了,右侧配置这个Tomcat的信息。具体的相信大家都会,我就不多说了。注意右侧上面的Arguments Source ClassPath等等都要改成你新的Tomcat的相关信息。
注意图片里被选中的地方。
最终的结果如下:
这就有两个tomcat啦,想启动哪个就用哪个,当然也可以一起启动了。如果还想增加tomcat数量,配置方式同上。
PS:重点说一下“新增加的tomcat中,要把conf\server.xml中的所有端口都改成别的”。
我之前没有注意到这一点,按照上述的方法配置了tomcat。先启动tomcat1,启动正常;再启动tomcat2的时候,报错了。如下:
StandardServer.await: create[8005]
看报错的第一句,是端口8005,“java.net.BindException: Address already in use: JVM_Bind”,是说Tomcat8005端口被其他进程占用,8005端口是用来关闭TOMCAT服务的端口。解决的方法如下:
1.方法一,修改tomcat/conf/server.xml文件
打开server.xml
将<Server port="8005" shutdown="SHUTDOWN">中8005改成不常用的端口号即可,比如8088
2.方法二,将占用8005的进程强行结束
(1) 在“运行”中输入CMD
(2)在启动的窗口中输入netstat -ano,就可以看到所有端口占用的情况,记下占用8005端口的程序的PID
(3)打开“任务管理器”,点击菜单栏的“查看”,再点击“选择列”,选上“PID(进程标识符)” 或者在cmd中输入tasklist命令,回车,查看(参考:http://blog.sina.com.cn/s/blog_7289f9210102vygk.html)
(4)在进程中找个相应的PID值,结束进程即可
其实就是两个tomcat中的几个端口号默认是一样的,把其中一个tomcat中的各种端口号都改成其他不常用的就可以了。
折腾了这么久,终于成功启动了。