- 在安裝Toamcat時,發現了以下的錯誤提示
17-Dec-2017 00:08:02.397 嚴重 [main] org.apache.catalina.core.StandardServer.await StandardServer.await: create[localhos
t: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:387)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190)
at java.net.ServerSocket.bind(ServerSocket.java:375)
at java.net.ServerSocket.<init>(ServerSocket.java:237)
at org.apache.catalina.core.StandardServer.await(StandardServer.java:440)
at org.apache.catalina.startup.Catalina.await(Catalina.java:758)
at org.apache.catalina.startup.Catalina.start(Catalina.java:704)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:353)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:493)
-
原因分析
從上面的描述中就可以看到,是因為端口8005被占用了。 -
那么就是解決問題了
目標:在Windows環境下,用netstat命令查看某個端口號是否占用,為哪個進程所占用.
操作:操作分為兩步:(1)查看該端口被那個PID所占用;方法一:有針對性的查看端口,使用命令Netstat –ano|findstr “<端口號>”
,如圖,圖中第一行的端口號為135,所對應的PID為1004。
接下來就是看對應的端口號了
直接用命令查找,tasklist|findstr <PID號>
查找對應的進程名
如果存在這種找不到的情況,使用任務管理器吧。
殺死對應的沖突進程
然后開啟,就成功啦!!!
附上參考
tomcat啟動不成功(點擊startup.bat閃退)的解決辦法
Tomcat(8005,8080,8009)端口占用問題常見原因及解決方法
Address already in use: JVM_Bind(端口沖突)
netstat -ano 查看機器端口占用情況
Windows netstat 查看端口、進程占用
解決tomcat端口被占用以及殺死進程
Tomcat的8005、8009,8080端口解釋