Tomcat 1099端口占用重启无效,查不到进程,改换端口无效解决方案

不知道怎么的,突然Tomcat报错1099端口被占用

以下总结了网上可能有效的三种解决方案

  • 方案一对我来说无效,根本查找不到1099的进程
  • 方案二对我来说也无效
  • 方案三有效,关闭了hyper-v服务后,成功启动Tomcat

方案一:查找占用1099的进程并结束

运行cmd,分别输以下代码,然后重启Tomcat

# 查找所有端口为1099的进程
netstat -ano | findstr 1099
# 结束端口为1099的进程
taskkill -f -pid 1099端口进程所对应的pid

方案二:重置winsock目录

Netsh winsock reset是一个命令提示程序,用于将winsock目录重置为默认设置或清除状态。如有时候上不了网或者网络出现问题经常用到它,简单地理解就是:重置程序通过操作系统链接网络的入口点。

以管理员身份运行cmd,然后重启计算机

netsh winsock reset

方案三:关闭hyper-v

可能我们电脑开启了hyper-v服务,系统默认会分配给一些保留端口供Hyper-V使用,可能与Tomcat冲突

首先我们可以查看一下我们系统默认的端口占用范围:

netsh int ipv4 show dynamicport tcp
CopyMicrosoft Windows [版本 10.0.18363.752]
(c) 2019 Microsoft Corporation。保留所有权利。

C:\Users\Chirius>netsh int ipv4 show dynamicport tcp

协议 tcp 动态端口范围
---------------------------------
启动端口        : 1024
端口数          : 13977
  • 我们可以看到Windows系统默认的tcp动态端口范围为:1024~13977
  • 当我们开启Hyper-V后,系统默认会分配给一些保留端口供Hyper-V使用
netsh interface ipv4 show excludedportrange protocol=tcp
CopyC:\Users\Chirius>netsh interface ipv4 show excludedportrange protocol=tcp
协议 tcp 端口排除范围
 
开始端口    结束端口
----------    --------
      1026        1125
      1226        1325
      1326        1425
      1426        1525
      1526        1625
      2180        2279

我们可以看到IDEA运行Tomcat需要JMX的1099端口刚好在端口排除范围中,这样就导致了IDEA需要使用1099端口是会被占用

解决方案关闭hyper-v

猜你喜欢

转载自blog.csdn.net/qq_45173404/article/details/108465349
今日推荐