当我试图在Eclipse中的Tomcat上运行一个简单的JSP程序时,我得到了以下错误。
Tomcat v6.0服务器在本地主机上所需的几个端口(8005、8080、8009)已经被使用。服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。
这是如何引起的,我该如何解决它?
当我试图在Eclipse中的Tomcat上运行一个简单的JSP程序时,我得到了以下错误。
Tomcat v6.0服务器在本地主机上所需的几个端口(8005、8080、8009)已经被使用。服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。
这是如何引起的,我该如何解决它?
当前回答
如何杀死一个windows服务使用PID -
打开命令提示符并输入netstat -ano 找到正在使用的端口的PID,在本例中为8080,8005,8009。假设这些端口的PID为5760。 现在输入taskkill /f /pid 5760 它将关闭PID,端口将可用。现在,您可以通过Windows服务或eclipse本身正常启动tomcat。
谢谢
杀死一个停止或启动卡住的Windows服务
其他回答
在Windows上使用命令停止已经运行的tomcat实例,并尝试在eclipse中再次运行它,它可能会工作。
net stop tomcat7
或者,如果您只想在其他端口上运行,则可以在服务器的XML中更改端口。
kill $(ps -aef | grep java | grep apache | awk '{print $2}')
无需重新启动Eclipse 如果您得到上述错误,只需在终端中输入这一行 再次在Eclipse中启动tomcat。 仅适用于Linux系统(Ubuntu ..等)
步骤释放已用于在Eclipse中运行tomcat服务器的端口
例如,假设使用了8080端口,我们需要释放8080来运行tomcat
步骤1:
C:\Users\username>netstat -o -n -a | findstr 0.0:8080
TCP 0.0.0.0:3000 0.0.0.0:0监听3116
现在,我们可以看到8080的LISTENING端口是3116,
我们现在要杀3116人
步骤2:-
C:\Users\username>taskkill /F /PID 3116
步骤3: 转到Eclipse并启动Server,它将运行
我没有运行Tomcat的其他实例,也没有使用“Tomcat端口”的其他进程(在我的例子中,是8088端口)。 Eclipse在启动Tomcat时发送相同的消息:
....服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。
我是这样解决这个问题的:
根据提示进入tomcat的bin目录 发射startup.bat 发射shutdown.bat 使用Eclipse启动tomcat
有时,如果在尝试@BalusC建议的shutdown.bat后端口仍未释放,您可以杀死javaw进程。执行以下步骤:
点击开始菜单,打开“Windows powershell” 打开前单击右键,选择“以管理员身份运行” 输入命令ps,你可能会看到如下图片: 查看进程“javaw”的进程号。进程号是列中最右边的数字,例如我在javaw的图像进程号中高亮显示。 输入命令kill。Javaw被杀死,现在您必须能够运行程序。