2012-11-10 64 views
2

我在使用Mac OS X 10.8.2上的Eclipse上的Tomcat v.7.0時遇到問題。 我認爲問題在於我在同一個筆記本上運行了另一個較早版本的Tomcat。但我無法找到它並關閉它/殺死它。在Eclipse(Mac OS X)中無法啓動Tomcat - java.net.BindException:無法分配請求的地址

當我嘗試啓動Tomcat Eclipse的話,我得到以下錯誤:

Nov 10, 2012 2:45:45 PM org.apache.catalina.core.StandardServer await 
    SEVERE: StandardServer.await: create[localhost:8005]: 
    java.net.BindException: Can't assign requested address 
     at java.net.PlainSocketImpl.socketBind(Native Method) 
     at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383) 
     at java.net.ServerSocket.bind(ServerSocket.java:328) 
     at java.net.ServerSocket.<init>(ServerSocket.java:194) 
     at org.apache.catalina.core.StandardServer.await(StandardServer.java:427) 
     at org.apache.catalina.startup.Catalina.await(Catalina.java:766) 
     at org.apache.catalina.startup.Catalina.start(Catalina.java:712) 
     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:322) 
     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:451) 

完整的日誌如下。

我試着用聚光燈和程序查找任何文件(http://apps.tempel.org/FindAnyFile/index.php)來找到我的Tomcat安裝位置。我查找關鍵字'catalina.sh',並刪除了這些調查結果的所有父文件夾。 我也刪除了我的eclipse工作區並重新安裝了eclipse。引導我的筆記本。沒有幫助。

當我做了一個端口掃描,然後它沒有透露任何東西。見截圖:

enter image description here

請告知我應該如何找出什麼竊聽Tomcat和我應該怎麼刪除它。

(我是新來的Java EE和Mac OSX)FAF的

Nov 10, 2012 2:45:44 PM org.apache.catalina.core.AprLifecycleListener init 
    INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: .:/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java 
    Nov 10, 2012 2:45:44 PM org.apache.coyote.AbstractProtocol init 
    INFO: Initializing ProtocolHandler ["http-bio-8080"] 
    Nov 10, 2012 2:45:44 PM org.apache.coyote.AbstractProtocol init 
    INFO: Initializing ProtocolHandler ["ajp-bio-8009"] 
    Nov 10, 2012 2:45:44 PM org.apache.catalina.startup.Catalina load 
    INFO: Initialization processed in 1553 ms 
    Nov 10, 2012 2:45:44 PM org.apache.catalina.core.StandardService startInternal 
    INFO: Starting service Catalina 
    Nov 10, 2012 2:45:44 PM org.apache.catalina.core.StandardEngine startInternal 
    INFO: Starting Servlet Engine: Apache Tomcat/7.0.32 
    Nov 10, 2012 2:45:45 PM org.apache.coyote.AbstractProtocol start 
    INFO: Starting ProtocolHandler ["http-bio-8080"] 
    Nov 10, 2012 2:45:45 PM org.apache.coyote.AbstractProtocol start 
    INFO: Starting ProtocolHandler ["ajp-bio-8009"] 
    Nov 10, 2012 2:45:45 PM org.apache.catalina.startup.Catalina start 
    INFO: Server startup in 719 ms 
    Nov 10, 2012 2:45:45 PM org.apache.catalina.core.StandardServer await 
    SEVERE: StandardServer.await: create[localhost:8005]: 
    java.net.BindException: Can't assign requested address 
     at java.net.PlainSocketImpl.socketBind(Native Method) 
     at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383) 
     at java.net.ServerSocket.bind(ServerSocket.java:328) 
     at java.net.ServerSocket.<init>(ServerSocket.java:194) 
     at org.apache.catalina.core.StandardServer.await(StandardServer.java:427) 
     at org.apache.catalina.startup.Catalina.await(Catalina.java:766) 
     at org.apache.catalina.startup.Catalina.start(Catalina.java:712) 
     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:322) 
     at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:451) 
    Nov 10, 2012 2:45:45 PM org.apache.coyote.AbstractProtocol pause 
    INFO: Pausing ProtocolHandler ["http-bio-8080"] 
    Nov 10, 2012 2:45:47 PM org.apache.coyote.AbstractProtocol pause 
    INFO: Pausing ProtocolHandler ["ajp-bio-8009"] 
    Nov 10, 2012 2:45:49 PM org.apache.catalina.core.StandardService stopInternal 
    INFO: Stopping service Catalina 
    Nov 10, 2012 2:45:49 PM org.apache.coyote.AbstractProtocol stop 
    INFO: Stopping ProtocolHandler ["http-bio-8080"] 
    Nov 10, 2012 2:45:51 PM org.apache.coyote.AbstractProtocol stop 
    INFO: Stopping ProtocolHandler ["ajp-bio-8009"] 
    Nov 10, 2012 2:45:53 PM org.apache.coyote.AbstractProtocol destroy 
    INFO: Destroying ProtocolHandler ["http-bio-8080"] 
    Nov 10, 2012 2:45:53 PM org.apache.coyote.AbstractProtocol destroy 
    INFO: Destroying ProtocolHandler ["ajp-bio-8009"] 

回答

2

你已經在你試圖啓動Tomcat的同一個端口上運行了一些東西。

sudo lsof -i :8080 # checks port 80 

默認值是8080,它在Tomcat conf目錄下的server.xml中設置。

+0

謝謝NimChimpsky。不知道這是否是sudo lsof,或者是我做過的其他事情。但是現在我得到了它運行的Tomcat和HelloWorld的工作。 – user1761347

+0

之後,用給定的PID:kill PID終止進程 – Kaptain

0

筆者在這裏:)

我不是Tomcat的專家,但我建議你訂閱「的MacOS-X-服務器「列表lists.apple.com並尋求幫助。

另外,Tomcat是否曾運行過該系統?如果沒有,也許你配置了一個非法端口。嘗試將端口號更改爲1024以上,然後查看是否有幫助。

最後,我想你在錯誤的網站問。這是編程問題。 SO旁邊還有其他OSX/Server特定的站點,可能是更好的問題。

+1

是在該系統上運行一年前的Tomcat。但我忘了它並配置了eclipse來運行w。更新的版本 - 不刪除舊版本。將來會在OSX特定網站上提出類似的問題。 – user1761347

1

加入

-Djava.net.preferIPv4Stack=true 

CATALINA_OPTS固定這對我來說。顯然本地主機沒有安裝在IPv6上。

0

檢查您是否只有一個網絡設備。一旦我的WiFi連接切換到只使用我的以太網連接,我的問題就解決了。在家裏WiFi工作正常,因爲這是我在那裏唯一的連接。

不知道爲什麼會發生這種情況,我想是的是,Tomcat與設備混淆,並錯誤地分配端口。

4

我通過指定

<Server address="0.0.0.0" port="8005" shutdown="SHUTDOWN">

在CONF/server.xml中解決了這個。

相關問題