Tomcat启动错误(8080端口被占用)处理方法(1)

来源:互联网 发布:openwrt修改网络配置 编辑:程序博客网 时间:2024/04/30 00:52

 

错误描述:

2009-7-12 15:40:35 org.apache.coyote.http11.Http11BaseProtocol start

严重: Error starting endpoint

java.net.BindException: Address already in use: JVM_Bind:8080

         at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:298)

         at org.apache.tomcat.util.net.PoolTcpEndpoint.startEndpoint(PoolTcpEndpoint.java:313)

         at org.apache.coyote.http11.Http11BaseProtocol.start(Http11BaseProtocol.java:151)

         at org.apache.coyote.http11.Http11Protocol.start(Http11Protocol.java:76)

         at org.apache.catalina.connector.Connector.start(Connector.java:1090)

         at org.apache.catalina.core.StandardService.start(StandardService.java:457)

         at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)

         at org.apache.catalina.startup.Catalina.start(Catalina.java:552)

         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:585)

         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)

         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)

2009-7-12 15:40:35 org.apache.catalina.startup.Catalina start

严重: Catalina.start:

LifecycleException:  service.getName(): "Catalina";  Protocol handler start failed: java.net.BindException: Address already in use: JVM_Bind:8080

         at org.apache.catalina.connector.Connector.start(Connector.java:1097)

         at org.apache.catalina.core.StandardService.start(StandardService.java:457)

         at org.apache.catalina.core.StandardServer.start(StandardServer.java:700)

         at org.apache.catalina.startup.Catalina.start(Catalina.java:552)

         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:585)

         at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)

         at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)

2009-7-12 15:40:35 org.apache.catalina.startup.Catalina start

信息: Server startup in 9860 ms

 

 

关键信息:

java.net.BindException: Address already in use: JVM_Bind:8080

 

错误原因:

8080端口被其他的应用占用!

 

解决方案:

 

第一步,命令提示符号,执行命令:netstat  –ano

 

Active Connections

 

  Proto  Local Address          Foreign Address        State           PID

  TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING       656

  TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING       656

 

可见,占用8080端口的进程的PID656

 

第二步,命令提示符号,执行命令:tasklist

 

图像名                       PID 会话名           会话#       内存使用

========================= ====== ================ ======== ============

TNSLSNR.exe                  656 Console                 0      8,992 K

 

可见,该占用8080端口的进程是TNSLSNR.exe

 

第三步,通过任务管理器,终止进程TNSLSNR.exe

 

第四步,重新启动tomcat,即可正常启动