2013-06-26 35 views
5

我得到當我試圖從NetBeans IDE中7.3.1用默認設置開始我的GlassFish服務器以下錯誤: http://ideone.com/wKbat3如何使用默認設置清除Glassfish 4.0的地址?

我能做些什麼:在

java.net.BindException: Address already in use: bind 

詳細信息?我如何清除glassfish的地址?我如何設置glassfish使用另一個地址? 「地址」在這種情況下意味着什麼?

+0

我得到了同樣的Tomcat'重度:無法初始化具有ProtocolHandler [ 「AJP-BIO-8009」] java.net.BindException相關的終點:地址已在使用:JVM_Bind :8009' – MaVRoSCy

+0

上R您Windows或Linux? – MaVRoSCy

回答

3

似乎另一臺服務器正在使用分配給您的glassfish服務器的端口之一。

在我來說,我得到異常SEVERE: Failed to initialize end point associated with ProtocolHandler ["ajp-bio-8009"] java.net.BindException: Address already in use: JVM_Bind <null>:8009

它變成是一個被遺忘的Tomcat實例已經在我的電腦上運行。當我禁用被遺忘的人時,異常消失了。

因此,在您的情況下,其他服務器佔用您的glassfish服務器使用的端口。找到它是哪個服務器並停止它,或分配一個不同的端口到您的glassfish服務器。

如果你在Windows下你可以使用netstat -a -o命令,看看女巫過程中使用的端口號:

更多關於如何找到一個特定的端口上運行的進程看也this guide

1

有一個看/glassfish/domains/domain1/config/domain.xml,你應該找到這樣

<network-listeners> 
       <network-listener name="http-listener-1" port="8080" protocol="http-listener-1" thread-pool="http-thread-pool" transport="tcp"/> 
       <network-listener name="http-listener-2" port="8181" protocol="http-listener-2" thread-pool="http-thread-pool" transport="tcp"/> 
       <network-listener name="admin-listener" port="4848" protocol="admin-listener" thread-pool="admin-thread-pool" transport="tcp"/> 
</network-listeners> 

這一段應該是端口的GlassFish需要打開。在我的情況下,由於端口8181已被另一個進程使用,因此我承擔了同樣的錯誤。我將端口更改爲8187,一切正常。 否則,您應該在啓動glassfish之前找到(netstat -a -b,如果您在Windows上)並停止使用這些端口的進程。

7

主要的原因是,另一臺服務器使用的端口8080,即每默認情況下,一個(在Windows中檢查是否在命令行正在使用這些端口:netstat的-a -o)

你需要改變它:

/glassfish/domains/domain1/config/domain.xml

變化: name="http-listener-1" **port="8080"** name="http-listener-2" **port="8181"**

要: name="http-listener-1" **port="9090"** name="http-listener-2" **port="9191"**

然後,從框架(Eclipse的舉例)卸下服務器,關閉它,啓動它,然後再添加Glashfish。

開始你的架構之前,確保沒有文件這樣的: /glassfish/domains/domain1/osgi-cache/felix/*.lock

在它存在的情況下,刪除它,你可以停止任何Java程序刪除它。

這些步驟對我很有幫助。