2014-05-23 114 views
9

我最近下載Glassfish 4.0,我想在NetBeans中使用它來製作一些Web應用程序,但是當我想啓動domain1(asadmin> start-domain domain1)時,我保留出現此錯誤:「有一個進程正在使用管理端口4848 - 它可能是另一個GlassFish服務器實例」。任何線索可能是什麼問題?Glassfish服務器啓動域domain1將無法啓動

+2

你有在你的問題中的答案*有一個進程已經使用管理端口4848 - 它可能是另一個實例GlassFish服務器* – Keerthivasan

+2

這可能是因爲[主機名不正確](http://stackoverflow.com/questions/7391466/unable-to-start-glassfish-3-1-even-though-port-不佔用) –

+0

這個'netstat -tulpn | grep 4848'將幫助驗證正在運行的進程 – Gilberto

回答

3

您的系統使用端口4848,這就是爲什麼。 當glassfish開始需要管理員使用三個端口號時,其中一個用於http應用程序,另一個用於https。

所以在你的系統中4848已被某些程序或服務器保留。

或者您可以根據您的需要更改默認端口號,如下所示。在命令提示符下鍵入 。

更改HTTP端口10080:

  • asadmin set server.http-service.http-listener.http-listener-1.port=10080

要更改HTTPS端口10443:

  • asadmin set server.http-service.http-listener.http-listener-2.port=10443

要更改管理服務器端口14848:

  • asadmin set server.http-service.http-listener.admin-listener.port=14848
+0

如何更改Glassfish的端口,或者如何找出佔用此端口並停止該進程的內容? –

+0

編輯server.xml,你可能會發現它的默認端口號。 –

+0

在你的情況下,這將是domain1.xml文件 –

0

做一個

netstat -aon

命令行

,並檢查其過程是使用的端口。 如果不重要,請將其作爲quick'n'dirty解決方案。

+1

它不顯示任何使用端口4848的進程... –

17

Glassfish無法解析主機名。診斷問題(在Linux上)如下:

  1. 打開終端。
  2. 類型hostname
  3. 類型:ping $(hostname)

如果ping命令失敗(找不到主機),然後將主機名添加到/etc/hosts

  1. 切換到根:sudo su -
  2. 類型:這可以如下實現echo "127.0.0.1 $(hostname)" >> /etc/hosts
  3. 殺死的GlassFish
  4. 重新啓動的GlassFish
+1

您是對的。我知道這與4848端口上的其他進程無關(nc -l 4848工作)。我在'/ etc/hosts'上添加了'hostname'的輸出,它工作正常。 順便說一句,我正在與Glassfish 4.0和4.1發生。 –

0

1-轉至配置您的域內的文件夾。 (在我的情況:C:\ Glassfish的\的glassfish \域\ MYDOMAIN \配置\)

2-打開文件域

3-更新這三個行的端口號: enter image description here

4,重新啓動您的域:

- 注 對於重新啓動域:

1,打開CMD控制檯

2導航喲域

3 - 執行:asadmin的重啓域MYDOMAIN

- 我希望它可以幫助:-)

1

在終端上嘗試lsof -i:4848

Imgur

殺死使用命令kill -9 <PID>列出的Java進程。

如果你有一個GUI任務管理器,比如OSX上的活動監視器,那麼你可以殺掉那裏列出的java進程。

希望這適用於任何面臨此問題的人。

0

解決方案可以是這樣: 控制檯類型:

echo $HOSTNAME 

然後確保輸出遵循

/etc/hosts 

127.0.0.1字符串例如:

127.0.0.1 dev.myserv.pl