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

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

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


当前回答

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

其他回答

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

解决问题的简单方法:

服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。为了关闭该端口,请执行以下操作:

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工作正常,没有任何问题。

步骤释放已用于在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,它将运行

windows用户:

使用CTRL+SHIFT+ESC组合键直接进入任务管理器。

通过右键单击并选择“End Task”来终止“java.exe”进程。

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