当我试图在Eclipse中的Tomcat上运行一个简单的JSP程序时,我得到了以下错误。
Tomcat v6.0服务器在本地主机上所需的几个端口(8005、8080、8009)已经被使用。服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。
这是如何引起的,我该如何解决它?
当我试图在Eclipse中的Tomcat上运行一个简单的JSP程序时,我得到了以下错误。
Tomcat v6.0服务器在本地主机上所需的几个端口(8005、8080、8009)已经被使用。服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。
这是如何引起的,我该如何解决它?
当前回答
在Eclipse上对项目“Servers”下的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工作正常,没有任何问题。
我没有运行Tomcat的其他实例,也没有使用“Tomcat端口”的其他进程(在我的例子中,是8088端口)。 Eclipse在启动Tomcat时发送相同的消息:
....服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。
我是这样解决这个问题的:
根据提示进入tomcat的bin目录 发射startup.bat 发射shutdown.bat 使用Eclipse启动tomcat
步骤1:netstat -a -o -n,它将打开一个网络列表,搜索本地地址,如127.0.0.1:8080,并注意PID (eq 3624)
C:\>netstat -a -o -n
Step2: taskkill /F /PID 3624。运行此命令终止该进程。
C:\>taskkill /F /PID 3624
链接到帖子
如果你在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上使用命令停止已经运行的tomcat实例,并尝试在eclipse中再次运行它,它可能会工作。
net stop tomcat7
或者,如果您只想在其他端口上运行,则可以在服务器的XML中更改端口。