Jetty啟動(dòng)項(xiàng)目失?。?jī)蓚€(gè)命令解決address already in use問題

一.問題原因

在使用Idea開發(fā)Java項(xiàng)目時(shí)常常選中Jetty作為我們本地運(yùn)行項(xiàng)目的Web容器。當(dāng)我們執(zhí)行了jetty run后,若Idea被非正常地關(guān)閉了,可能出現(xiàn)Idea關(guān)閉了但Jetty仍在運(yùn)行的情況。這時(shí)候如果我們重新打開Idea,再次執(zhí)行jetty run時(shí)就會(huì)報(bào)錯(cuò):

Failure: Address already in use

二.解決方法

以下為在Windows系統(tǒng)下的解決方法。只需要執(zhí)行兩個(gè)命令即可。

命令一:找到占用端口的進(jìn)程

假如我是在80端口啟動(dòng)了jetty,那么打開windwos“命令提示符”窗口,輸入以下命令:

netstat -ano | findstr "127.0.0.1:80"

解釋一下,netstat -ano是列出系統(tǒng)當(dāng)前所有端口的占用情況。但這個(gè)列表往往較長(zhǎng),我們想要找到自己要的并不容易。所以才有了命令的后邊部分——findstr "80"。findstr命令搜索符合條件的結(jié)果,為我們過濾掉大部分的內(nèi)容,這樣就容易找到我們需要的80端口占用情況。

netstat和findstr命令之間有個(gè)“|”,這個(gè)豎杠表示將netstat命令的結(jié)果作為findstr命令的輸入。這種寫法在Linux系統(tǒng)中也比較常見。

執(zhí)行此命令的輸出結(jié)果示例如下:


在這里插入圖片描述

我們看到輸出結(jié)果一共有5列,分別是:協(xié)議、本地地址、外部地址、狀態(tài)、PID。其中本地地址為“127.0.0.1:80”的為我們要找的,其對(duì)應(yīng)的PID是10468。

命令二:使用taskkill殺死占用端口的進(jìn)程

使用命令一我們拿到了占用端口的進(jìn)程的PID,10468。再執(zhí)行以下命令殺死進(jìn)程即可。

taskkill /PID 10468 /F

其中PID用于指定進(jìn)程ID,F(xiàn)選項(xiàng)意思是強(qiáng)制結(jié)束進(jìn)程

三.擴(kuò)展

拿到進(jìn)程的PID后,如果想進(jìn)一步了解其對(duì)應(yīng)的程序名稱,可以使用以下命令:如PID是4832

tasklist | findstr 4832

其輸出結(jié)果為:


在這里插入圖片描述
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容