Jetty启动项目失败?两个命令解决address already in use问题

本文介绍在使用Idea开发Java项目时,遇到Jetty端口被占用的问题及解决方法。通过两个命令找出并终止占用端口的进程,确保Jetty能够正常运行。

一.问题原因

在使用Idea开发Java项目时常常选中Jetty作为我们本地运行项目的Web容器。当我们执行了jetty run后,若Idea被非正常地关闭了,可能出现Idea关闭了但Jetty仍在运行的情况。这时候如果我们重新打开Idea,再次执行jetty run时就会报错:

Failure: Address already in use

二.解决方法

以下为在Windows系统下的解决方法。只需要执行两个命令即可。

命令一:找到占用端口的进程

假如我是在80端口启动了jetty,那么打开windwos“命令提示符”窗口,输入以下命令:

netstat -ano | findstr "127.0.0.1:80"

解释一下,netstat -ano是列出系统当前所有端口的占用情况。但这个列表往往较长,我们想要找到自己要的并不容易。所以才有了命令的后边部分——findstr “80”。findstr命令搜索符合条件的结果,为我们过滤掉大部分的内容,这样就容易找到我们需要的80端口占用情况。

netstat和findstr命令之间有个“|”,这个竖杠表示将netstat命令的结果作为findstr命令的输入。这种写法在Linux系统中也比较常见。

执行此命令的输出结果示例如下:
在这里插入图片描述
我们看到输出结果一共有5列,分别是:协议、本地地址、外部地址、状态、PID。其中本地地址为“127.0.0.1:80”的为我们要找的,其对应的PID是10468。

命令二:使用taskkill杀死占用端口的进程

使用命令一我们拿到了占用端口的进程的PID,10468。再执行以下命令杀死进程即可。

taskkill /PID 10468 /F

其中PID用于指定进程ID,F选项意思是强制结束进程

三.扩展

拿到进程的PID后,如果想进一步了解其对应的程序名称,可以使用以下命令:如PID是4832

tasklist | findstr 4832

其输出结果为:
在这里插入图片描述
欢迎扫码或微信搜一搜【第四单元】关注我,一起学习进步
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值