1 问题描述:
‘Starting Tomcat v8.0 Server at localhost' has encountered a problem.
Several ports (8005,8080,8009) required by Tomcat v8.0 Server at localhost are already in use.
The Server may already by running in another process,or a system process may be using the prot.
To start this server you will need to stop the other process or change the port number(s).
翻译过来就是:
“在本地主机上启动Tomcat V8.0服务器”遇到问题。
本地主机上的tomcat v8.0服务器所需的几个端口(8005,8080,8009)已在使用中。
服务可能已经在另一个进程中运行,或者系统进程正在使用prot。要启动此服务器,您需要停止另一个进程或更改端口号。
具体的端口是自己设置的
2 问题出现原因:
服务被占用,具体怎么被占用,可能性有很多,最常见的是非正常关闭软件,导致服务没有正常关闭,Tomcat持续占用端口,无法再次启用。还有其他软件占用端口等。
3 问题解决:
3.1 办法1
首先查看windows所有端口进程占用情况:
1)点击开始菜单选择运行(win+r),接着在运行对话框中输入“cmd”,回车打开命令提示符窗口,然后在窗口中输入【 netstat -ano 】并回车,效果如图:
2)输入【 netstat -aon|findstr "8080" 】并回车,可以看见列表中的PID。根据PID在电脑的任务管理器中查看对应的占用程序
提示:这里的8080指的是端口号,可以替换为其他端口,实际情况查看报错中提示的端口信息
3)根据提示占有8080这个程序的进程ID为:5868,输入命令【 tasklist|findstr "5868" 】关闭这个进程。
拓展:
“Tasklist”命令是一个用来显示运行在本地或远程计算机上的所有进程的命令行工具,带有多个执行参数。
结束一个或多个任务或进程。可以根据进程 ID 或图像名来结束进程。
语法格式:
TASKLIST [/S system [/U username [/P [password]]]]
[/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]
3.2 办法2
这里如果没有关闭可以试下另外一个方法:
既然知道了占有8080这个程序的进程PID为5868,可以打开任务管理器-->详细信息-->找到相应占据PID的进程右键关闭。即可
3.3 办法3最后一种,简单粗暴,关机重启。