当我试图在Eclipse中的Tomcat上运行一个简单的JSP程序时,我得到了以下错误。
Tomcat v6.0服务器在本地主机上所需的几个端口(8005、8080、8009)已经被使用。服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。
这是如何引起的,我该如何解决它?
当我试图在Eclipse中的Tomcat上运行一个简单的JSP程序时,我得到了以下错误。
Tomcat v6.0服务器在本地主机上所需的几个端口(8005、8080、8009)已经被使用。服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。
这是如何引起的,我该如何解决它?
当前回答
如果Eclipse说
Tomcat v6.0服务器在本地主机上所需的几个端口(8005、8080、8009)已经被使用
出现此错误是因为tomcat可能正在后台运行,所以首先停止该服务器。
解决方案是:
打开“控制台”视图(窗口->显示视图->控制台) 然后停止tomcat服务器。 然后打开“服务器”视图并启动服务器,它将工作。
谢谢!
其他回答
步骤释放已用于在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 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或使用这些端口的任何其他进程。
Macbook的解决方案:
步骤1:停止运行Java的服务器:
打开活动监视器到应用程序>实用程序>活动监视器。或简单按CMD +空格键,并开始键入活动监视器。 寻找运行Java的进程,并在终端中输入以下命令将其终止
kill -STOP <PID>
其中PID是Activity Monitor中显示的Java进程的进程号。重复执行几次,然后关闭并重新打开Activity Monitor以检查Java是否正在运行。
第二步:修改端口:
在Eclipse中的服务器上右键单击“Open”。将端口号从8080修改为8081或更大的值。
这应该会启动您的服务器。
当Apache Tomcat不能正确终止时,即使发送了关闭指令,也会出现这个问题。在我使用Tomcat 8的情况下,这种情况经常发生,令人讨厌。幸运的是,您可以使用Windows PowerShell和netstat命令创建一个简单的脚本来终止进程。
下面的PowerShell脚本将解析netstat的输出,以找到监听127.0.0.1:8005的任何进程,提取其PID,然后杀死该进程:
netstat -a -o -n `
| select -skip 4 `
| % {$a = $_ -split ' {3,}'; New-Object 'PSObject' -Property @{Original=$_;Fields=$a}} `
| ? {$_.Fields[1] -match '127\.0\.0\.1\:8005$'} `
| % {Write-Host "Killing PID" $_.Fields[4] "..."; taskkill /F /PID $_.Fields[4] }
如果server.xml将Tomcat配置为使用不同的端口或IP,则相应地编辑脚本第四行上的正则表达式。
最后,我应该指出,Linux上的情况要好一些,因为您可以指示Tomcat在启动时将其PID保存到一个文件中,然后使用开关强制关闭—用于nix系统的关闭脚本已经具有杀死进程的能力,并且不需要使用netstat进行探测工作。
您的Tomcat可能已经在运行。这就是为什么会出现错误。我以前也遇到过同样的问题。我的答案很简单:
重新启动计算机 打开Eclipse 运行Tomcat
这是所有。