解决Tomcat运行时错误:“Address localhost:1099 is already in use”

目录

背景:

过程:

报错的原因:

解决的方法:

总结:

直接结束Java.exe进程:

[使用neststat -aon | findstr 1099 命令:](#使用neststat -aon | findstr 1099 命令:)

选择建议:


背景:

准备运行Tomcat服务器调试项目时,程序下方就弹出一个错误提示《说地址Localhost:1099已被占用》,尝试重启了Intellij IDE和重新部署Tomcat服务器,但是运行错误依然存在,后来通过在网上查询资料找到了解决办法。

过程:

报错的原因:

序号 Tomcat端口冲突原因 描述
1 Tomcat默认/手动设置端口冲突 Tomcat默认配置中可能使用了1099端口,或者用户手动设置了Tomcat使用1099端口。如果此端口已经被其他程序占用,Tomcat在启动时就会报错。
2 上次Tomcat未正常关闭导致的端口占用 上一次Tomcat启动未正常关闭,或者遭遇异常导致服务器某些线程还没有完成关闭,这些线程可能继续占用1099端口,导致Tomcat无法再次正常启动。
3 短时间内频繁运行Tomcat导致的端口释放延迟 在短时间内频繁启动和停止Tomcat服务器,可能会导致端口释放不完全或延迟,进而造成端口冲突。

解决的方法:

方式一:

1.确认端口占用情况:

·打开命令提示符(Windows),输入netstat -aon | findstr 1099

2.终止占用端口的进程:

·如果确定该进程可以安全的终止,可以使用taskkill -f -pid PID

3.重启Tomact

·问题已经解决,可以运行

方式二:

打开任务管理器,直接结束java.exe。

使用快捷键Ctrl+Shift+Esc,然后右键结束任务就可以了

总结:

直接结束Java.exe进程:

优点:

·快速:直接结束Java.exe进程可以迅速释放被占用的端口

·简单:不需要额外的命令和工具,只需要打开任务管理器即可

缺点:

·风险:如果系统中有多个Java进程在运行,直接结束java.exe可能会导致其他重要的Java应用程序或服务器中断

·不精确:无法确保结束的是占用特定端口的Java进程

使用neststat -aon | findstr 1099 命令:

优点:

·精确:可以准确地找到占用1099的端口的进程(PID)

·安全:只结束特定的进程,不影响Java进程或系统服务

缺点:

·需要命令行操作:对于不熟悉命令行操作的用户来说可能有些困难

·需要额外步骤:找PID,还需要使用taskkill或任务管理器命令来结束进程

选择建议:

·如果确定只有一个Java进程在运行,并且该进程是Tomcat,那么直接结束Java.exe进程可能是一个快速且简单的方法。但是,请务必小心,因为这样做可能会中断Tomact服务器的所有应用程序和服务

·如果不确定哪个Java进程占用了1099端口,或者系统上有多个Java进程在运行,那么使用 netstat -aon | findstr 1099命令来查找并结束特定进程是更安全、更精确的方法。这样可以确保只结束占用特定端口和进程,而不影响其他Java进程或系统服务

相关推荐
爱的叹息9 分钟前
Java 集合框架中 `List` 接口及其子类的详细介绍,并用 UML 图表展示层次结构关系,用表格对比各个类的差异。
java·list·uml
qzw121037 分钟前
Java与Elasticsearch集成详解,以及使用指南
java·elasticsearch·jenkins
爱的叹息37 分钟前
分别用树型和UML结构展示java集合框架常见接口和类
java·开发语言·uml
马院代表人38 分钟前
Java入职篇(4)——git的使用
java·git·职场和发展
猿六凯1 小时前
历年云南大学计算机复试上机真题
java·华为od·华为
尽力不摆烂的阿方1 小时前
《图解设计模式》 学习笔记
java·笔记·学习·设计模式
一头大学牲2 小时前
vscode打不开
ide·vscode·编辑器
Java韩立2 小时前
基于Spring Boot的航司互售系统
java·spring boot·后端
东阳马生架构3 小时前
Netty基础—4.NIO的使用简介二
java·网络·netty
陌路物是人非3 小时前
MinIo前后端实现
java·docker·html·minio