tomcat啓動沒有問題,訪問localhost後包錯,很有可能是jar包的衝突。
Tomcat啓動錯誤(80端口被佔用)的處理方法
錯誤描述:
2012-2-23 17:11:31 org.apache.coyote.http11.Http11BaseProtocol start
嚴重: Error starting endpoint
java.net.BindException: Address already in use: JVM_Bind:80
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)
2012-2-23 17:11:31 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:80
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)
2012-2-23 17:11:31 org.apache.catalina.startup.Catalina start
信息: Server startup in 6980 ms
關鍵信息:
java.net.BindException: Address already in use: JVM_Bind:80
錯誤原因:
80端口被其他的應用佔用!
解決方案:
第一步,命令提示符號,執行命令:netstat –ano
Active Connections
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 812
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 812
可見,佔用80端口的進程的PID是812
第二步,命令提示符號,執行命令:tasklist
映像名稱 PID 會話名 會話# 內存使用
========================= ======== ================ =========== ============
httpd 812 Console 0 5,899K
可見,該佔用80端口的進程是httpd
第三步,通過任務管理器,終止進程httpd
第四步,重新啓動tomcat,即可正常啓動