錯誤信息:
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了
原文:https://blog.csdn.net/ned_mahone/article/details/79423882