IDEA 端口占用,启动失败,提示Web server failed to start. Port 8080 was already in use.

问题描述:

使用IDEA开发Spring Boot项目,今天启动提示端口占用,导致启动失败!(我昨天也是用的这个端口,可以正常启动)

***************************
APPLICATION FAILED TO START
***************************
Description:
Web server failed to start. Port 8080 was already in use.

Action:
Identify and stop the process that's listening on port 8080 or configure this application to listen on another port.

 

解决思路:

1.更换端口

 既然提示了端口占用,自然想到那就换个端口用呗。于是改为了8081,8082,8083,但都是失败!

事后发现,换端口是可行的,但是我换的这个恰好不能用!其实我们可以修改application.properties文件 ,改成随机端口。

// 0 表示是随机端口
server.port=0

 

2.杀掉占用端口的进程

换端口不行,那就看看这些端口是谁占用了,于是查找8081端口谁占用了?但是发现并没有进程占用!

> netstat -ano|findstr "8081"

如果查找到了占用端口,可以通过PID,去任务管理器找到对应的进程,然后暴力地直接杀了这个进程(如果你非用这个端口不可)

> netstat -ano|findstr "8080"
TCP    0.0.0.0:8680           0.0.0.0:0              LISTENING       30556

 

3.更改保留端口范围

显然我遇到的不是这个情况,经过翻阅,知道还有一种可能就是端口属于系统保留端口,也会出现这种情况

> netsh interface ipv4 show excludedportrange protocol=tcp

协议 tcp 端口排除范围

开始端口    结束端口
----------    --------
        80          80
      1057        1156
      1157        1256
      1457        1556
      1757        1856
      1857        1956
      1957        2056
      3830        3929
      3930        4029
      4030        4129
      5357        5357
      7456        7555
      7556        7655
      7681        7780
      7781        7880
      7881        7980
      7981        8080
      8081        8180
...

果不其然,我使用的端口,和尝试修改的端口都在端口排除范围内(7981——8080,8081——8180)!!!

如果需要使用这几个端口,那就只能使用管理的身份运行 CMD ,设置动态端口的范围,使得这个保留端口的范围避开我们需要的端口范围。

// 范围可以自己设定
> netsh int ipv4 set dynamicport tcp start=49152 num=16383 > netsh int ipv4 set dynamicport udp start=49152 num=16383

然后,重新启动电脑,曾经被占用的端口就可以继续使用了

 

posted @ 2021-08-18 13:51  mayhot  阅读(5738)  评论(0编辑  收藏  举报