当我试图在Eclipse中的Tomcat上运行一个简单的JSP程序时,我得到了以下错误。
Tomcat v6.0服务器在本地主机上所需的几个端口(8005、8080、8009)已经被使用。服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。
这是如何引起的,我该如何解决它?
当我试图在Eclipse中的Tomcat上运行一个简单的JSP程序时,我得到了以下错误。
Tomcat v6.0服务器在本地主机上所需的几个端口(8005、8080、8009)已经被使用。服务器可能已经在另一个进程中运行,或者某个系统进程正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。
这是如何引起的,我该如何解决它?
当前回答
如果你在windows上运行,在命令行提示符中试试这个:
netstat -ano
这将显示所有正在使用的端口以及正在使用该端口的进程的进程id PID #。 然后按Ctrl+Alt+Del并打开任务管理器,查看哪个进程。
然后,您可以选择关闭/停止它,或者配置您的服务器使用其他端口。 要检查新选择的端口(比如8010)是否可用,请执行以下操作:
netstat -ano | grep 8010
如果它没有返回任何行,那么就没问题。
要更改端口,请转到Server视图,打开Server .xml并在那里更改端口。 我的记录是这样的:
Connector port="8010" protocol="AJP/1.3" redirectPort="8443"
其他回答
windows用户:
使用CTRL+SHIFT+ESC组合键直接进入任务管理器。
通过右键单击并选择“End Task”来终止“java.exe”进程。
参考以下博客“如何在不重启计算机的情况下杀死tomcat”
http://stanicblog.blogspot.fr/2012/01/how-to-kill-apache-tomcat-without.html
希望这对将来的人们有所帮助。
当项目中的其他人也使用与您相同的端口号时,就会发生这种情况! 双击tomcat服务器,将端口号更改为8585或其他。代码现在将开始运行!
我在阅读了所有建议的答案后所做的,因为我知道我的端口已经在使用中。我在eclipse的Servers选项卡下双击Tomcat,它打开概述信息,然后找到端口信息。刚刚更改了冲突的端口,因为我的端口是8009端口(启动服务器时提到的错误)。我已经把它改成了8008,可以正常工作。如果更改的端口没有被使用,请尝试一下服务器将会启动。
最简单的解决方案
单行删除多个端口命令:
kill $(lsof -t -i:8005,8080,8009)
8005、8080和8009为需要释放的端口。
或者,在linux下尝试sudo kill sudo lsof -t -i:8005。