分類  >  Web前端 >

Tomcat Cannot assign requested address: JVM_Bind 非埠佔用矛盾

tags:    時間:2013-12-09 23:21:22
Tomcat Cannot assign requested address: JVM_Bind 非埠佔用衝突

嚴重: StandardServer.await: create[8005]:
java.net.BindException: Cannot assign requested address: JVM_Bind
 at java.net.PlainSocketImpl.socketBind(Native Method)
 at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:359)
 at java.net.ServerSocket.bind(ServerSocket.java:319)
 at java.net.ServerSocket.(ServerSocket.java:185)

 

使用DOS命令netstat -an查看被佔用的埠,並未發現有任何程序佔用Tomcat使用的相關埠,並且將Tomcat安裝目錄下的conf/server.xml文件中的埠改為其他埠,再次運行也無法正常啟動,可以判斷應該不是埠佔用引起的問題。

 

如果不是埠佔用的問題的話,那麼就要考慮是否是IP綁定的問題了,經過檢查,在伺服器計算機的C:\Windows\System32\drivers\etc\hosts文件中發現如下部分內容:

# localhost name resolution is handled within DNS itself.
     127.0.0.1               localhost
     192.168.1.188       localhost

 

192.168.1.188是一個不存在的本地IP地址,將hosts文件中的第二行內容192.168.1.188 localhost去掉后,再次啟動TOMCAT,發現運行正常!

 

在伺服器領域,一台計算機配置多個IP地址是比較常見的。Tomcat在啟動時,會根據配置去獲取所有的IP地址,並且進行逐個綁定,當發現需要綁定的IP地址不存在時,將會觸發上述異常,從而導致無法正常啟動。

推薦閱讀文章

Bookmark the permalink ,來源:互聯網