Tomcat 9启动陷入无限循环:无法在[localhost]地址和[8005]端口创建服务器关闭套接字
Tomcat 9启动陷入无限循环:无法在[localhost]地址和[8005]端口创建服务器关闭套接字
看起来你遇到的问题根源很清晰——Tomcat用来接收关闭指令的8005端口被其他进程占用了,这才导致启动时卡在无限循环里,因为它没法成功创建对应的服务器套接字。我给你整理几个实用的解决办法:
第一步:找出占用8005端口的进程并终止
根据你的操作系统,用对应的命令排查:- Windows系统:
打开命令提示符,执行:
你会看到占用端口的进程ID(PID),接着执行命令杀掉该进程:netstat -ano | findstr :8005taskkill /PID <你的进程ID> /F - Linux/macOS系统:
打开终端,执行:
或者用更轻量的命令:lsof -i :8005
拿到PID后执行强制终止命令:ss -tulpn | grep 8005kill -9 <你的进程ID>
杀掉占用进程后,重新启动Tomcat应该就能正常运行了。
- Windows系统:
第二步:修改Tomcat的关闭端口(如果不想终止现有进程)
要是8005端口确实需要被其他程序使用,你可以修改Tomcat的配置:- 找到Tomcat安装目录下的
conf/server.xml文件 - 找到这一行配置:
<Server port="8005" shutdown="SHUTDOWN"> - 把
port="8005"改成一个未被占用的端口,比如port="8006" - 保存文件后重启Tomcat即可
- 找到Tomcat安装目录下的
额外排查建议
你提到是别人修改过东西后出现的问题,也可以检查下:- 是不是有人改动了
server.xml里的端口配置? - 有没有新增的服务或程序刚好占用了8005端口?
- 之前的Tomcat进程是不是没彻底关闭?有时候表面上停了,但后台还有残留进程占用资源,用上面的端口排查命令就能发现。
- 是不是有人改动了
备注:内容来源于stack exchange,提问作者Malkavian
相关产品推荐
相关产品推荐

