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

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

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


当前回答

windows用户:

使用CTRL+SHIFT+ESC组合键直接进入任务管理器。

通过右键单击并选择“End Task”来终止“java.exe”进程。

其他回答

如果以上方法都不起作用,这里还有一个选择。您可能正在从共享驱动器(例如H:)中使用Eclipse。如果是,将其移动/复制到整个Eclipse目录C:,然后再试一次。

我的Eclipse无法为Tomcat服务器打开端口(有上述错误),甚至无法连接到internet。我还尝试了另一个Tomcat插件(Sysdeo),它也未能打开端口。

以下是我尝试过的选择:

检查并杀死其他Tomcat实例

在命令提示符中输入netstat -ano,检查是否有其他进程正在使用冲突的端口。 找到PID并杀死它 尝试重新启动服务器。

在Eclipse中更改Tomcat端口

在Eclipse Server选项卡中,双击Tomcat实例。这将打开配置选项卡。 在“端口”下,修改端口号。(例如,18080)。

关闭java.exe和javaw

在任务管理器中,找到并杀死java.exe和javaw(参见https://stackoverflow.com/a/25334782/4212710和https://stackoverflow.com/a/26136890/4212710) 尝试重新启动服务器。

请参阅我对Eclipse无法连接到Internet的其他回答(https://stackoverflow.com/a/37246087/4212710)。

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

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

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

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

解决问题的简单方法:

服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。为了关闭该端口,请执行以下操作:

1)从以下链接下载TCPView(只有285kb)。

http://technet.microsoft.com/en-in/sysinternals/bb897437.aspx

2)解压文件夹,启动TCPView应用程序。

3)右键单击java.exe(因为8009,8005端口通常被java进程使用),并选择结束进程选项。

这将很容易地停止另一个进程。

注意:运行TOMCATPATH/bin/shutdown.bat可能不会在Tomcat包含恶魔或非托管时关闭Tomcat 线程。在这种情况下,TCPView工作正常,没有任何问题。

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

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

输入命令

。/ shutdown.sh

它将关闭正在运行的tomcat

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

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