=Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost are already in use. The server may already be running in another process, or a system process may be using the port. To start this server you will need to stop the other process or change the port number(s).
出现这种问题一般会有三种情况:
1.点击运行的时候没有选中页面或Servlet窗口的标签
2.在硬盘的多个地方都有Tomcat
3.(8005,8080,8009)三个端口中的至少一个被其他程序占用
详细说明及相关的介绍方法移步到这里:https://blog.csdn.net/zhouyingge1104/article/details/7243363
其中针对第三种情况有种比作者更简单的做法:
1.在dos下,
输入 netstat -ano|findstr 8080 //说明:查看占用8080端口的进程,显示占用端口的进程
输入 netstat -ano|findstr 8009 //说明:查看占用8009端口的进程,显示占用端口的进程
输入 netstat -ano|findstr 8005 //说明:查看占用8005端口的进程,显示占用端口的进程
2.
taskkill /pid 568 /f //说明,运行windows自带taskkill命令,将上面显示的进程号,结束掉。
关键是以上都不能解决我的问题
我的解决方法是:
进入本地tomcat的安装目录找到 tomcat安装目录/conf/server.xml
编辑,把8005, 8080, 8009全部改为8885, 8888, 8889,重新运行项目就ok了。
为什么我的会出现这样的问题:
我是先把Tomcat启动后,又去eclipse启动项目。
结果就会出现:Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost are already in use. The server may already be running in another process, or a system process may be using the port. To start this server you will need to stop the other process or change the port number(s).
因为你启动Tomcat的时候,在conf下的配置文件中sever.xml会有三个端口 8005 8080 8009,而你在eclipse再次启动的时候,因为之前你在eclipse关联了Tomcat,同时又启动这三个端口,肯定会重复啊。解决的方法很简单啊,就启动一个Tomcat,也就是打开eclipse之前不用在启动Tomcat了,直接在eclipse启动项目的时候启动。或者是把本地的Tomcat安装目录下conf中的配置文件三个端口改为与eclipse不冲突的端口。我就改成了8885 8888 8889。
接着我的又出现问题了,这个问题是:修改tomcat端口后,在eclispe中启动tomcat,竟然还是原来的端口!
为何会这样,因为当时你在eclipse配置Tomcat的时候,在eclispe中开发项目的话,eclispe会默认给我们生成一个Servers目录,可以看到该目录下的文件名和tomcat中的配置文件名是一样的名字
你只在本地server.xml下修改,你把8080端口改成8081,但是你在eclipse启动成功后访问的时候,你还是要访问:http://localhost:8080/web01/date (端口号后面是本人的文件目录)。要想通过http://localhost:8081/web01/date.访问成功。你需要做的是进入eclipse下的server.xml下修改。然后保存之后,重新启动eclipse下的Tomcat服务器
修改之后就可以访问了
我估计这半天,搞这个Tomcat配置遇见了所有的问题,有的没有贴上。有的能被简单的解决,有的需要综合几个人的答案才能解决。希望能帮助到你