【开发心得】解决windows下hype-v与tomcat1099冲突问题

报错:

Port already in use: 1099

前言:1099/8080 端口冲突在Java开发的时候,很常见。一般的调查和处理方案如下:
问题类型1: 后台因为未能正确关闭tomcat 工程,导致后台仍然被占用,或者干脆就是开了两个同样端口的工程。(比如笔者之前前台开着Vue,并且也是8080)

1.如果能够知道具体的占用者,直接关闭即可。

2.如果没有发现具体的占用者。可以通过打开命令行(windows下cmd或者powershell)

执行

netstat -aon|findstr 1099 

查看到pid ,杀掉即可。

 taskkill -f -pid ${pid}

问题类型2:

1.如果通过 netstat 命令查不到具体的端口,那么请注意了!请确定您是否开启了 Hyper-V

笔者日常工作,使用比较多的还是windows,使用windows环境下的 hyper -v + docker。那么,hyper -v 是有预留端口的。

netsh interface ipv4 show excludedportrange protocol=tcp

注意到开始端口为1057 结束端口为1156 而1099 正好在这个区间内,正好被排除了!

解决方案如下:
1.关闭 hype-v。

通过控制台直接关闭。

在这里插入图片描述

2.调整tomcat端口为其他端口,比如10999

2021/05/28 更新,有网友提到,单独排除某些接口比较费劲,那么,可以手动指定端口预留范围.跳开常用的端口段

netsh int ipv4 set dynamicport udp start=49152 num=16383

检查结果

netsh int ipv4 show dynamicport tcp

 

posted @ 2021-01-25 17:14  虹梦未来  阅读(58)  评论(0)    收藏  举报  来源