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

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

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


当前回答

这可能是因为您没有正确地停止tomcat服务。为此,打开你的任务管理器,你可以看到一个javaw.exe服务。首先停止服务。现在重新启动tomcat,它可以正常工作。

其他回答

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

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

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

我没有运行Tomcat的其他实例,也没有使用“Tomcat端口”的其他进程(在我的例子中,是8088端口)。 Eclipse在启动Tomcat时发送相同的消息:

....服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。

我是这样解决这个问题的:

根据提示进入tomcat的bin目录 发射startup.bat 发射shutdown.bat 使用Eclipse启动tomcat

参考以下博客“如何在不重启计算机的情况下杀死tomcat”

http://stanicblog.blogspot.fr/2012/01/how-to-kill-apache-tomcat-without.html

希望这对将来的人们有所帮助。

在windows中打开任务管理器(Ctrl+Alt+Delete),进入服务选项卡,然后右键单击tomcat,选择停止,然后在eclipse中启动