1. 程式人生 > >Tomcat啟動報錯: StandardServer.await: create[8005] 簡單解決方案

Tomcat啟動報錯: StandardServer.await: create[8005] 簡單解決方案

錯誤資訊

org.apache.catalina.core.StandardServer await
嚴重: StandardServer.await: create[8005]:
java.net.BindException: Address already in use
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:365)
at java.net.ServerSocket.bind(ServerSocket.java:319)
at java.net.ServerSocket.(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)
org.apache.coyote.http11.Http11Protocol pause

這個錯誤意思是說8005埠已經被佔用了,通常是eclipse等編譯器非正常退出導致的,網上也有很多解決方案都講的太粗糙了,這裡寫個容易看懂的

關閉eclipse等編譯器

找到佔用埠8005的程序號

win+R開啟CMD

這裡寫圖片描述

命令:netstat -ano | findstr "8005"

這裡寫圖片描述

可以看出埠被程序號為3228的程序佔用

檢視程序號對應的程序名

命令:tasklist | findstr "3228" 這裡的3228用你在上面查到的程序號代替

這裡寫圖片描述

完成後看到,原來是javaw.exe佔用了埠

結束該程序

命令:taskkill /f /t /im javaw.exe

這裡寫圖片描述

再次啟動Tomcat 應該就可以成功啦~