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

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

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


当前回答

在我的例子中,它给了我一个错误: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

其他回答

在Eclipse上对项目“Servers”下的Tomcat配置文件夹进行原始删除。 作为最后的希望,我试了一下,结果成功了。

您已经运行了另一个Tomcat实例。您可以通过在web浏览器中访问http://localhost:8080来确认这一点,并检查是否得到Tomcat默认主页或特定于Tomcat的404错误页面。两者都是Tomcat运行良好的有效证据;如果没有,那么您将得到一个特定于浏览器的HTTP连接超时错误消息。

你需要关掉它。进入Tomcat安装文件夹的“/bin”子文件夹,执行“shutdown.bat”(Windows)或“shutdown.sh”(Unix)脚本。如果无效,请关闭Eclipse,然后打开任务管理器并杀死所有java和/或javaw进程。

或者,如果您出于某种原因将其实际安装为Windows服务(即用于生产,在开发时没有帮助),请打开服务管理器(Start > Run > services.msc)并停止Tomcat服务。如有必要,请完全卸载Windows服务。对于开发来说,只有ZIP文件就足够了。

或者,如果您的实际意图是同时运行两个Tomcat实例,则必须配置第二个实例以侦听不同的端口。有关更多细节,请参阅Tomcat文档。

这可能是因为您没有正确地停止tomcat服务。为此,打开你的任务管理器,你可以看到一个javaw.exe服务。首先停止服务。现在重新启动tomcat,它可以正常工作。

如果Eclipse说

Tomcat v6.0服务器在本地主机上所需的几个端口(8005、8080、8009)已经被使用

出现此错误是因为tomcat可能正在后台运行,所以首先停止该服务器。

解决方案是:

打开“控制台”视图(窗口->显示视图->控制台) 然后停止tomcat服务器。 然后打开“服务器”视图并启动服务器,它将工作。

谢谢!

windows用户:

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

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