当我试图在Eclipse中的Tomcat上运行一个简单的JSP程序时,我得到了以下错误。
Tomcat v6.0服务器在本地主机上所需的几个端口(8005、8080、8009)已经被使用。服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。
这是如何引起的,我该如何解决它?
当我试图在Eclipse中的Tomcat上运行一个简单的JSP程序时,我得到了以下错误。
Tomcat v6.0服务器在本地主机上所需的几个端口(8005、8080、8009)已经被使用。服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。
这是如何引起的,我该如何解决它?
当前回答
不需要关闭eclipse IDE。您的Tomcat可能已经在运行。这就是为什么会出现错误。
从命令终端打开tomcat目录>> bin >>(以tomcat9为例)
输入命令
。/ shutdown.sh
它将关闭正在运行的tomcat
其他回答
在我的例子中,它给了我一个错误: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
Tomcat vX需要的几个端口(8005,8080,8009)。本地主机上的X服务器已经在使用
检查Tomcat的其他实例是否已经在运行,或者其他进程是否正在使用您可以使用的端口:
Netstat -b -a在windows命令提示符中。这将列出正在使用的端口,并为您提供使用每个端口的可执行文件。您需要在管理组中才能执行此操作。
你可能会得到这样的东西:
TCP 192.168.0.1:8009 192.168.0.1:0 LISTENING 196 [Tomcat7.exe] 192.168.0.1:0监听196 [Tomcat7.exe] TCP 192.168.0.1:8005 192.168.0.1:0 LISTENING 196 [Tomcat7.exe]
打开任务管理器Ctrl+Shift+Esc,关闭Tomcat7.exe或使用这些端口的任何其他进程。
在Windows上使用命令停止已经运行的tomcat实例,并尝试在eclipse中再次运行它,它可能会工作。
net stop tomcat7
或者,如果您只想在其他端口上运行,则可以在服务器的XML中更改端口。
kill $(ps -aef | grep java | grep apache | awk '{print $2}')
无需重新启动Eclipse 如果您得到上述错误,只需在终端中输入这一行 再次在Eclipse中启动tomcat。 仅适用于Linux系统(Ubuntu ..等)
我检查了所有的答案,但只通知杀死PID。
在这种情况下,如果你有终端访问共享的所有,这将没有帮助,或者可能你没有权限杀死PID。
在这种情况下,你可以做的是:
双击服务器
进入“概述”,在“端口”中修改端口,如下所示: