在企業(yè)版Eclipse中,在已經(jīng)啟動了Tomcat服務(wù)器后,準(zhǔn)備運行頁面或Servlet時,有時會出現(xiàn)這樣的關(guān)于Tomcat服務(wù)器端口占用的問題: “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窗口的標(biāo)簽 情況如下圖:
仔細(xì)觀察可知,左圖其實并沒有選中要運行的Servlet窗口的標(biāo)簽,因為標(biāo)簽是白色的,此時點擊運行按鈕的話相當(dāng)于再啟動一個服務(wù)器進(jìn)程,端口當(dāng)然是被原來那個已經(jīng)啟動的服務(wù)器給占了。而右圖中Servlet窗口標(biāo)簽是藍(lán)色的,說明已經(jīng)被選中了,點擊綠色的運行按鈕后自然就是將這個Servlet裝入已經(jīng)啟動的那個服務(wù)器運行,所以不會有像剛才那種端口占用的情況。
情況二:在硬盤的兩個地方都有Tomcat 下面說說我碰到過的另一種情況,以前在D盤安裝過一個Tomcat,后來因為有段時間不怎么用,就忽略了。再后來又開始做練習(xí)的時候,在C盤裝了另一個Tomcat,并且在Eclipse中配置的時候也是默認(rèn)選擇了C盤的那個Tomcat。悲劇的是,因為原來在D盤的那個Tomcat我設(shè)成了開機啟動,所以端口一開始就被它占著。因此,在Eclipse中啟動Tomcat(C盤那個)時,就出現(xiàn)了端口占用的錯誤提示。
后來把D盤的Tomcat刪除后,在Eclipse中就能正常運行頁面了。
情況三:(8005,8080,8009)三個端口中的至少一個被其他程序占用 這種情況很難一下子看出來,不過反正就是要找出到底是哪個程序占用了這幾個端口。可以在控制臺里用“netstat -abn”命令查看正在運行的程序所占用的端口以及相關(guān)信息:
可以看到,是”javaw.exe”這個程序占用了8009和8080端口,在資源管理器中把它結(jié)束掉就可以了。
當(dāng)然,還可能有其他情況導(dǎo)致的原因。慢慢探索吧。
轉(zhuǎn)載自:http://blog.csdn.net/zhouyingge1104/article/details/7243363 端口被占用了,你把另外的tomcat關(guān)閉,如果找不到,則打開任務(wù)管理器,結(jié)束”javaw.exe”這個進(jìn)程,就沒問題了。
新聞熱點
疑難解答