Windows保留端口导致IDEA启动项目失败

用 IDEA 启动一个 spring boot项目时,一直提示端口被占用:“Web server failed to start. Port 1400 was already in use.”

但我打开终端查看时,根本没有服务占用这个端口: netstat -aon | findstr :1400 

C:\WINDOWS\system32>netstat -aon | findstr :1400
  TCP    0.0.0.0:14000          0.0.0.0:0              LISTENING       10080
  TCP    [::]:14000             [::]:0                 LISTENING       10080

 重启电脑好几遍也不行。

几经检索后,发现是 Windows保留端口 导致的。

检查 Windows 保留端口命令

netsh interface ipv4 show excludedportrange protocol=tcp
C:\Users\Administrator>netsh interface ipv4 show excludedportrange protocol=tcp
​
协议 tcp 端口排除范围
​
开始端口    结束端口
----------    --------
      1048        1147
      1148        1247
      1248        1347
      1348        1447
      1448        1547
      1609        1708
      5357        5357
     50000       50059     *
     59100       59100     ** - 管理的端口排除。

 因为 1400 在1348~1447 里面,所以启动spring boot项目时提示被占用了。

释放端口(用管理员开启cmd)

停止 WinNAT 服务以释放被占用的端口: net stop winnat 

C:\WINDOWS\system32>net stop winnat
​
Windows NAT Driver 服务已成功停止。

保留想要使用端口(端口号和number都可以自定义) netsh int ipv4 delete excludedportrange protocol=tcp startport=1348 number=100 

C:\WINDOWS\system32>netsh int ipv4 delete excludedportrange protocol=tcp startport=1348 number=100
找不到元素。

重新启动 winnat 服务

net start winnat
C:\WINDOWS\system32>net start winnat

Windows NAT Driver 服务已经启动成功。

重新启动spring boot项目

再次运行项目,成功。

参考文档

posted @ 2025-09-04 16:11  sunshine233  阅读(21)  评论(0)    收藏  举报