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

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

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


当前回答

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

其他回答

我在阅读了所有建议的答案后所做的,因为我知道我的端口已经在使用中。我在eclipse的Servers选项卡下双击Tomcat,它打开概述信息,然后找到端口信息。刚刚更改了冲突的端口,因为我的端口是8009端口(启动服务器时提到的错误)。我已经把它改成了8008,可以正常工作。如果更改的端口没有被使用,请尝试一下服务器将会启动。

对我来说更简单的解决方法是通过“服务器”选项卡从tomcat中删除我当前部署的webapps。一旦我把它们去掉,问题就解决了。只需重新部署您的项目运行>在服务器上运行。

您已经运行了另一个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文档。

我检查了所有的答案,但只通知杀死PID。

在这种情况下,如果你有终端访问共享的所有,这将没有帮助,或者可能你没有权限杀死PID。

在这种情况下,你可以做的是:

双击服务器

进入“概述”,在“端口”中修改端口,如下所示:

如果你在windows上运行,在命令行提示符中试试这个:

netstat -ano

这将显示所有正在使用的端口以及正在使用该端口的进程的进程id PID #。 然后按Ctrl+Alt+Del并打开任务管理器,查看哪个进程。

然后,您可以选择关闭/停止它,或者配置您的服务器使用其他端口。 要检查新选择的端口(比如8010)是否可用,请执行以下操作:

netstat -ano | grep 8010

如果它没有返回任何行,那么就没问题。

要更改端口,请转到Server视图,打开Server .xml并在那里更改端口。 我的记录是这样的:

Connector port="8010" protocol="AJP/1.3" redirectPort="8443"