当我试图在Eclipse中的Tomcat上运行一个简单的JSP程序时,我得到了以下错误。

Tomcat v6.0服务器在本地主机上所需的几个端口(8005、8080、8009)已经被使用。服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。

这是如何引起的,我该如何解决它?


当前回答

步骤释放已用于在Eclipse中运行tomcat服务器的端口

例如,假设使用了8080端口,我们需要释放8080来运行tomcat

步骤1:

C:\Users\username>netstat -o -n -a | findstr 0.0:8080

TCP 0.0.0.0:3000 0.0.0.0:0监听3116

现在,我们可以看到8080的LISTENING端口是3116,

我们现在要杀3116人

步骤2:-

C:\Users\username>taskkill /F /PID 3116

步骤3: 转到Eclipse并启动Server,它将运行

其他回答

参考以下博客“如何在不重启计算机的情况下杀死tomcat”

http://stanicblog.blogspot.fr/2012/01/how-to-kill-apache-tomcat-without.html

希望这对将来的人们有所帮助。

如果在基于Windows 7或Windows 10的操作系统上出现上述问题,则是因为Tomcat作为Windows Service运行。要停止Tomcat作为Windows服务运行,请打开Windows控制面板。找到服务“Apache Tomcat”并停止它。 另一种方法是使用cmd终止运行在8080端口上的进程。

以管理员身份打开cmd。

C:\users\username>netstat -o -n -a|findstr 0.0:8080 TCP 0.0.0.0:8080 0.0.0.0:0监听2160。 上面的2160是运行在端口8080上的进程的进程id,使用以下命令杀死该进程 C:\users\username>taskkill /F /PID 2160 进入IDE并启动服务器,它将运行

kill $(ps -aef | grep java | grep apache | awk '{print $2}')

无需重新启动Eclipse 如果您得到上述错误,只需在终端中输入这一行 再次在Eclipse中启动tomcat。 仅适用于Linux系统(Ubuntu ..等)

如何杀死一个windows服务使用PID -

打开命令提示符并输入netstat -ano 找到正在使用的端口的PID,在本例中为8080,8005,8009。假设这些端口的PID为5760。 现在输入taskkill /f /pid 5760 它将关闭PID,端口将可用。现在,您可以通过Windows服务或eclipse本身正常启动tomcat。

谢谢

杀死一个停止或启动卡住的Windows服务

在我的例子中,它给了我一个错误:Tomcat v8.0服务器在localhost上所需的端口8005已经在使用中

我在apache-tomcat-8.0.39\conf\server.xml中更改了8005端口,但更改没有得到反映。然后我从eclipse做了这些改变。通过双击服务器并将端口从8005修改为8006,它就可以工作了。

在放8006之前,我在windows shell中检查这个端口是否可用。执行如下命令:

netstat -a -o -n | findstr 8006