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

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

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


当前回答

如果在基于Windows 7或Windows 10的操作系统上出现上述问题,则是因为Tomcat作为Windows Service运行。要停止Tomcat作为Windows服务运行,请打开Windows控制面板。找到服务“Apache Tomcat”并停止它。 另一种方法是使用cmd终止运行在8080端口上的进程。

以管理员身份打开cmd。

C:\users\username>netstat -o -n -a|findstr 0.0:8080 TCP 0.0.0.0:8080 0.0.0.0:0监听2160。 上面的2160是运行在端口8080上的进程的进程id,使用以下命令杀死该进程 C:\users\username>taskkill /F /PID 2160 进入IDE并启动服务器,它将运行

其他回答

在我的例子中,它给了我一个错误: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

在windows操作系统中,右键单击任务栏——>启动任务管理器——>进程,然后检查java.exe或javaw是否正在运行,如果正在运行,然后单击它并结束进程,然后重新启动你的tom cat服务器。

有时skype将占用端口80,在这种情况下,更改skype设置并将skype设置为81或更改tomcat配置。

有时,如果在尝试@BalusC建议的shutdown.bat后端口仍未释放,您可以杀死javaw进程。执行以下步骤:

点击开始菜单,打开“Windows powershell” 打开前单击右键,选择“以管理员身份运行” 输入命令ps,你可能会看到如下图片: 查看进程“javaw”的进程号。进程号是列中最右边的数字,例如我在javaw的图像进程号中高亮显示。 输入命令kill。Javaw被杀死,现在您必须能够运行程序。

以上都不适合我。

我找到的是点击Details按钮。

然后在Eclipse中使用Tomcat运行web服务时,出现多个具有相同路径的上下文错误

删除了重复的行,然后我得到了另一个错误。

The server cannot be started because one or more of the ports are invalid. Open the server editor and correct the invalid ports.

在Eclipse中无法启动tomcatv9.0

这样就有用了。

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