Tomcat错误信息如下:
Several ports (8005, 8080, 8009) required by Tomcat v5.5 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).
原因:端口8005, 8080, 8009被占用了。可能是在打开Tomcat的情况下关闭了Eclipse,或是Eclipse非正常关闭,导致先前的Tomcat没有被关闭,端口占用。或是其他软件占用了tomcat的端口号。
解决方案:
1、打开任务管理器,找到java虚拟机相关的进程javaw.exe,将它结束掉[如果不行,走下一步]
2、遇到此情况,有人会告诉你重启电脑。这种方法固然可行,但成本很高,手头的工作和开的软件都要重新打开。其实,我们只要杀掉所占用端口的进程即可:
1> win + R,输入cmd回车进入dos界面
2> 输入netstat -ano|findstr 8080 查看占用8080端口的进程
3>输入taskkill /pid 10148 /f 将显示的进程号(PID,我的是10148)结束掉
4> 重启tomcat
或:也可以根据dos查的在任务管理器中结束掉进程。如果任务管理器中没有显示PID列,需要设置,查看--->选择列--->勾选“PID(进程标识符)”。[如果还不行,走下一步]
3、修改Tomcat默认端口号(不建议)
修改Tomcat的配置文件。
例如:C:/tomcat5.5.25/conf/server.xml(这是我的Tomcat存放路径)
找到
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
将port="8080"中的端口改为一个没有被占用的端口。
4、如果上述方法都不行,那么不要急,有可能是未识别的Windows socket错误,尝试下面这个办法
1,以管理员身份打开命令提示符
2,输入 netsh winsock reset
3,重启电脑就ok了