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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jetty启动项目失败?两个命令解决address already in use问题相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

执行此命令的输出结果示例如下:

我们看到输出结果一共有5列,分别是:协议、本地地址、外部地址、状态、PID。其中本地地址为“127.0.0.1:80”的为我们要找的,其对应的PID是10468。

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

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

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

其输出结果为:

以上是关于Jetty启动项目失败?两个命令解决address already in use问题的主要内容,如果未能解决你的问题,请参考以下文章

docker jetty10 启动 war

jetty启动常用命令

在 ubuntu 14 中启动码头失败

解决jetty7.0.pre5启动时报ClassNotFoundException: javax.interceptor.InvocationContext异常的问题

idea 用jetty容器启动web项目

maven web项目如何用jetty运行