Tomcat(8005,8080,8009)埠占用問題常見原因及解決方法
在企業版Eclipse中,在已經啟動了Tomcat伺服器後,準備執行頁面或Servlet時,有時會出現這樣的關於Tomcat伺服器埠占用的問題:
“Several ports (8005, 8080, 8009) required by Tomcat v6.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執行所需的那三個埠被被的程式佔用了。
我個人遇到過的的原因大概有以下幾種:
情況一:點選執行的時候沒有選中頁面或Servlet視窗的標籤
情況如下圖:
仔細觀察可知,左圖其實並沒有選中要執行的Servlet視窗的標籤,因為標籤是白色的,此時點選執行按鈕的話相當於再啟動一個伺服器程式,埠當然是被原來那個已經啟動的伺服器給佔了。而右圖中Servlet視窗標籤是藍色的,說明已經被選中了,點選綠色的執行按鈕後自然就是將這個Servlet裝入已經啟動的那個伺服器執行,所以不會有像剛才那種埠占用的情況。
情況二:在硬碟的兩個地方都有Tomcat
下面說說我碰到過的另一種情況,以前在D盤安裝過一個Tomcat,後來因為有段時間不怎麼用,就忽略了。再後來又開始做練習的時候,在C盤裝了另一個Tomcat,並且在Eclipse中配置的時候也是預設選擇了C盤的那個Tomcat。悲劇的是,因為原來在D盤的那個Tomcat我設成了開機啟動,所以埠一開始就被它佔著。因此,在Eclipse中啟動Tomcat(C盤那個)時,就出現了埠占用的錯誤提示。
後來把D盤的Tomcat刪除後,在Eclipse中就能正常執行頁面了。
情況三:(8005,8080,8009)三個埠中的至少一個被其他程式佔用
這種情況很難一下子看出來,不過反正就是要找出到底是哪個程式佔用了這幾個埠。可以在控制檯裡用“netstat -abn”命令檢視正在執行的程式所佔用的埠以及相關資訊:
可以看到,是"javaw.exe"這個程式佔用了8009和8080埠,在資源管理器中把它結束掉就可以了。
當然,還可能有其他情況導致的原因。慢慢探索吧。
相關文章
- Tomcat埠占用問題解決方法Tomcat
- tomcat埠占用問題Tomcat
- 解決tomcat埠占用Tomcat
- windows解決埠占用問題Windows
- Nacos 常見問題及解決方法
- DVR常見故障原因及解決方法VR
- Hadoop常見問題及解決方法Hadoop
- KMP常見問題及解決方法【Z】KMP
- Solaris 常見問題及解決方法(轉)
- 常見問題及解決
- As常見問題解決方法
- Git常見問題及解決Git
- 常見問題及解決方案
- Oracle 常見的錯誤問題及解決方法Oracle
- DNS故障的幾種常見原因及解決方法DNS
- UltraEdit常見問題及解決教程
- WordPress:常見問題及解決方案
- 埠占用解決方案
- 快取常見問題及解決方案快取
- 爬蟲常見問題及解決方式爬蟲
- Kafka常見的問題及解決方案Kafka
- WIN 8.1使用常見問題及解決
- 5大常見開源軟體問題及解決方法
- 客戶服務常見問題及解決方法介紹
- windows Server 2008常見問題及解決方法WindowsServer
- 常見的HTTP介面超時問題出現原因及解決辦法HTTP
- DevExpress DateEdit 5 常見問題解決方法devExpress
- git常見問題解決Git
- Web Deploy釋出網站及常見問題解決方法(圖文)Web網站
- 物聯網路卡常見問題及解決方案
- CrashSight 接入上報常見問題及解決方案
- 【FAQ】推送服務常見問題及解決方案
- 爬蟲專案常見問題及解決方案爬蟲
- APP線下推廣常見問題及解決策略APP
- iPhone 6/Plus常見使用問題及解決方案iPhone
- Vmware vSphere常見問題及解決辦法
- Q9使用常見問題及解決方案
- 【MySQL】常見slave 延遲原因以及解決方法MySql