(非原創)
今天碰到一個問題,在eclipse中運行一個程序,eclipse裏面的tomcat一啓動就報錯說端口占用,eclipse徹底不能聯網,maven不能下載依賴包,不能建立maven項目,不能安裝插件,而後我查看了本機的端口占用狀況也沒有看到我要用的端口被別的應用佔用,最後…….折騰了很久,終於弄好了,分享以下: 錯誤信息 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的端口號。 解決方案: 一、打開任務管理器,找到java虛擬機相關的進程javaw.exe,將它結束掉[若是不行,走下一步] 二、遇到此狀況,有人會告訴你重啓電腦。這種方法當然可行,但成本很高,手頭的工做和開的軟件都要從新打開。其實,咱們只要殺掉所佔用端口的進程便可: 1> win + R,輸入cmd回車進入dos界面 2> 輸入netstat -ano|findstr 8080 查看佔用8080端口的進程 3>輸入taskkill /pid 10148 /f 將顯示的進程號(PID,個人是10148)結束掉 4> 重啓tomcat 或:也能夠根據dos查的在任務管理器中結束掉進程。若是任務管理器中沒有顯示PID列,須要設置,查看--->選擇列--->勾選「PID(進程標識符)」。[若是還不行,走下一步] 三、修改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"中的端口改成一個沒有被佔用的端口。 四、若是上述方法都不行,那麼不要急,有多是未識別的Windows socket錯誤,嘗試下面這個辦法 1,以管理員身份打開命令提示符 2,輸入 netsh winsock reset 3,重啓電腦就ok了