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

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

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


当前回答

不需要关闭eclipse IDE。您的Tomcat可能已经在运行。这就是为什么会出现错误。

从命令终端打开tomcat目录>> bin >>(以tomcat9为例)

输入命令

。/ shutdown.sh

它将关闭正在运行的tomcat

其他回答

我没有运行Tomcat的其他实例,也没有使用“Tomcat端口”的其他进程(在我的例子中,是8088端口)。 Eclipse在启动Tomcat时发送相同的消息:

....服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。

我是这样解决这个问题的:

根据提示进入tomcat的bin目录 发射startup.bat 发射shutdown.bat 使用Eclipse启动tomcat

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

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

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

如果您在Eclipse中的Java EE前景中,并试图以调试模式在Eclipse中启动Tomcat服务器,那么您将得到这样的错误。您必须在Eclipse中切换到预调试。我就这样解决了我的问题。

如果你在mac环境下,这是我所做的。

从终端找到运行在该端口上的进程id,例如8080:

lsof -i :8080

杀死它:

kill -9 <PID>  

例子:

结果如下:

MacSys:bin krunal.$ lsof -i :8080

COMMAND   PID     USER   FD   TYPE     DEVICE  SIZE/OFF   NODE  NAME
java     21347   krunal  52u  IPv6      XXX      0t0      TCP  *:http-xxx (LISTEN)

杀死它:(kill -9 21347)

在windows操作系统中,右键单击任务栏——>启动任务管理器——>进程,然后检查java.exe或javaw是否正在运行,如果正在运行,然后单击它并结束进程,然后重新启动你的tom cat服务器。

有时skype将占用端口80,在这种情况下,更改skype设置并将skype设置为81或更改tomcat配置。