Address already in use: JVM_Bind(8005端口冲突)

来源:互联网 发布:rss源码 编辑:程序博客网 时间:2024/05/29 18:24

1.错误描述

2011-7-20 11:05:18 org.apache.catalina.core.StandardServer await
严重: StandardServer.await: create[8005]: 
java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
at java.net.ServerSocket.bind(ServerSocket.java:319)
at java.net.ServerSocket.<init>(ServerSocket.java:185)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:373)
at org.apache.catalina.startup.Catalina.await(Catalina.java:662)
at org.apache.catalina.startup.Catalina.start(Catalina.java:614)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
2011-7-20 11:05:18 org.apache.coyote.http11.Http11Protocol pause

2.原因分析

从上面的描述中就可以看到,是因为端口8005被占用了。

3.解决方法

在cmd中输入命令:netstat -ano,查看所有端口的占用情况,找到占用端口8005的进程pid,然后在任务管理器中删除该进程,再启动tomcat就可以了。这里如果觉得使用cmd命令不方便的话,可以使用一个叫做TCPView的软件。

   3.1 cmd下查看端口如下图所示(下面显示只做参考,真实的端口号为8005s):

C:\Users\dell>netstat -ano

     3.2 cmd下查看该端口的程序,代码如下

C:\Users\John>tasklist /fi "pid eq 892" 

     3.3 根据找到的程序(我找到的是javax.exe),启动资源管理器,关闭该进程。

0 0
原创粉丝点击