IDEA启动tomcat程序1099端口被占用解决方案

报错信息        localhost:1099 is already used

重启,改换端口都无效

以下总结了网上的几种解决方案

  • 方案一对我来说无效,根本查找不到1099的进程
  • 方案二对我来说也无效,任务管理器中没有java.exe进程
  • 方案三有效,关闭了Hyper-v服务后,成功启动Tomcat
  • 方案四是在方案三的前提下关闭Hyper-v服务没有用可以尝试一下
  • ......

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

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

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

方案二:关闭Java.exe进程

第一步:打开任务管理器(ctrl+shift+esc),选择进程

第二步:找到所有的Java.exe进程,将其关闭

第三步:找到JDK安装目录,进入bin目录下,双击java.exe文件运行

第四步:重新启动idea

方案三:关闭Hyper-v

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

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

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

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

协议 tcp 动态端口范围
---------------------------------
启动端口        : 1024
端口数          : 13977
  • 可以看到Windows系统默认的tcp动态端口范围为:1024~13977
  • 当开启Hyper-V后,系统默认会分配给一些保留端口供Hyper-V使用
  • IDEA运行Tomcat需要JMX的1099端口刚好在端口排除范围中,这样就导致了IDEA需要使用1099端口是会被占用

解决方案:控制面板->程序->程序和功能->Windows功能,去掉Hyper-V前边的勾选框

IDEA启动tomcat程序1099端口被占用解决方案_第1张图片

 此电脑右键->管理->服务和应用程序->服务

将Hyper相关服务全部停止并设置为手动类型。然后重启电脑即可

IDEA启动tomcat程序1099端口被占用解决方案_第2张图片

方案四:cmd命令修改端口范围

前提是Windows系统默认的tcp动态端口范围为:1024~13977,关闭Hyper-V后也不能用

netsh int ipv4 set dynamicportrange tcp start=49152 num=16384

使用命令修改配置,重启Tomcat,1099端口不被占用

方案五:重建tomcat容器

将右上角Tomcat容器删除,再重新建立运行

方案六:重置winsock目录

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

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

netsh winsock reset

方案七:查看host

在SwtichHosts中查看是否少了 127.0.0.1 localhost这行,如果少了就再单独配置一行,启动项目

你可能感兴趣的:(问题解决,tomcat)