Windows保留端口导致IDEA启动项目失败
约 488 字大约 2 分钟
2025-09-04
用 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 项目时提示被占用了。
释放端口
停止 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
找不到元素。虽然提示“找不到元素”,但是仍然执行成功了,1400 端口 可以使用了
重新启动 winnat 服务
net start winnatC:\WINDOWS\system32>net start winnat
Windows NAT Driver 服务已经启动成功。重新启动 spring boot 项目
再次运行项目,成功。
