【解決】java.net.BindException: Address already in use: JVM_Bind
錯誤
嚴重: StandardServer.await: create[8005]: java.net.BindException:
Address already in use: JVM_Bind at
java.net.DualStackPlainSocketImpl.bind0(Native Method) at
java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106)
at
java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190) at
java.net.ServerSocket.bind(ServerSocket.java:376) at
java.net.ServerSocket.(ServerSocket.java:237) at
org.apache.catalina.core.StandardServer.await(StandardServer.java:373)
at org.apache.catalina.startup.Catalina.await(Catalina.java:630) at
org.apache.catalina.startup.Catalina.start(Catalina.java:590) at
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606) at
org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at
org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
原因
錯誤原因在報錯裡面已經很清楚的提示:地址已被佔用;這個地址是Tomcat的埠,雖然我們看到Myeclipse裡面的Tomcat伺服器並沒有開啟,甚至這個情況還是在我剛開啟電腦就遇到了。顯然Myeclipse並沒有意識到Tomcat已經開啟了。我們此時依舊可以通過瀏覽器來訪問我們的伺服器網頁,但是在Myeclipse卻是無法執行的,所以我們應該通過工作管理員來關閉Tomcat這個程序。再在Myeclipse執行程式就可以正確開啟Tomcat了。
解決辦法
1.開啟工作管理員(Ctrl+Alt+Del)
2.如圖所示
3.找到Tomcat的程序,右鍵選擇關閉程序,再在Myelipse開啟就好了。
4.此時Myeclipse就可以正常開啟Tomcat了。