之前,看到一篇博文“在实际的开发中,我们可能要在一台机器上启动两个Tomcat实例,一个用于实际运行,一个用调试(通常在IDE环境下启动)。由于Tomcat的默认配置监听相同的端口,所以我们很难启动两个Tomcat实例(端口冲突)。有一种情况就是,如果你安装了某些软件,如Oracle,JBoss等,这些软件会默认监听8080端口,而你有不知道如何去更改默认配置,如果你以默认的方式去启动Tomcat,那么Tocmat就很难启动起来。如果我们想让Tomcat运行在IntelliJ IDEA下,而又和其他Tomcat配置区分开来且能安全运行,下面是我们的建议:
1 从http://tomcat.apache.org下载Tomcat的zip版本,然后将其解压至一独立目录,如IntelliJ_Tomcat,这个Tomcat仅供IntelliJ IDEA使用,和其他的Tomcat实例区分开来。
2 修改server.xml文件,这里我们需要将默认的端口进行更改,下面是我们的建议:
8005 -> 7005
8080 -> 7070
8009 -> 7009
8443 -> 7443
为了方便记忆,其实我们知识将Tomcat默认的8改为7。
3 删除webapps目录下的所有应用,ROOT目录除外。
4 启动IntelliJ IDEA,创建Tomcat应用服务器,然后指定给项目即可。”
在实际项目中发现这样分析很有道理,然后就动手实际操作了一下。发现,设置后idea的端口号等都改变为自己设置的,Tomcat的路径也是对的。但是,突然发现Tomcat libraries目录下的jsp.jar和servlet.jar的路径竟然是另一个Tomcat目录下的,这就有点莫名其妙了。虽然,跑Tomcat的时候没有影响,这是因为二者是相同的,可是还是觉得不完美,当然你也可以手动去设置是,这又太麻烦,不智能。上面的做法是为了解决8080端口被占用,其实也很简单,你可以直接netstat -an 查看当前8080端口有没有被占用,如果被占用,查看被谁占用,然后再taskkill它。这样就可以了,设置两个Tomcat实例也没有说不好,其实也是可以的,给idea设置一个专门的Tomcat,也可以分开管理。但是,你会发现你会把idea专用的tomcat和另一个tomcat端口号搞混淆,有好处也有不好的地方,就看各自的喜好和习惯。