1. 程式人生 > 實用技巧 >Eclipse中,tomcat埠被佔用的解決方案

Eclipse中,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了

原文:https://blog.csdn.net/ned_mahone/article/details/79423882