“Several ports ( 8088, 8009) required by Tomcat v6.0 Server at localhost are already in use. The ser

“Several ports ( 8088, 8009) required by Tomcat v6.0 Server at localhost are already in use. The server may already be running in another process, or a system process may be using the port. To start this server you will need to stop the other process or change the port number(s).”


错误信息为:Tomcat运行的端口被别的程序占用。


情况一:(8088,8009)两个端口中至少一个被其他程序占用

原因:程序上一次运行关闭后再次运行,只是程序关闭了,相关的进程没有关闭。

1)找出是哪个程序占用了端口:在控制台(黑窗口)里用“netstat -abn”命令查看正在运行的程序所占用的端口以及相关信息,




可以看到,是"javaw.exe"这个程序占用了8009和8088端口,在资源管理器中结束进程。


再次运行项目则会成功。

(附:若你的eclipse 没有正常关闭 tomcat的进程还在也是这样解决

(附:我用的是UniEAP V4与企业版Eclipse无区别,在启动编程工具后,点击运行Servlet时,有时会出现这样的关于Tomcat服务器端口占用的问题



情况二:硬盘上开启着两个Tomcat

我查到的一种情况:

在D盘安装过一个Tomcat,在C盘装了另一个Tomcat,在Eclipse中配置的时候是默认选择了C盘的Tomcat。若在D盘的Tomcat设成了开机启动,则该端口一开始就已被占用。因此,在Eclipse中启动Tomcat时会出现了端口占用的错误提示。

解法:将D盘的Tomcat删除,则能在Eclipse中就能正常运行程序。


错误---socket bind failed的解决方法:

socket bind failed的原因一般是Tomcat端口被占用,一般解除端口占用就行了
1 . win+R打开运行,输入cmd,进入dos界面;
2 . 输入netstat -ano | findstr 8080;查看占用端口8080,每个人的端口号可能占用的不同,要根据实际情况来看;


3 . 输入taskkill /f /pid 占用进程;这步是关闭占用进程


4 . 如果用上部还是出现占用进程,继续重复以上两步,直到没有为止。


希望对你有帮助,祝你有一个好心情,加油!

你可能感兴趣的:(异常)