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