2013-02-01 29 views
5

在使用glassfish 3.1.2.2的ubuntu 12.04上的intelliJ 12.0中,我試圖在調試模式下啓動我的web應用程序,但是我得到了這個錯誤信息:在glassfish服務器上用ubuntu下的intelliJ在debug模式下運行web應用程序

Error starting domain domain1. 
The server exited prematurely with exit code 134. 
Before it died, it produced the following output: 

FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197) 
ERROR: transport error 202: bind failed: Address already in use 
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510) 
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [../../../src/share/back/debugInit.c:741] 

我嘗試另一個更改端口9009 domain.xml中,但它是不成功的。 你能幫我解決這個問題嗎?

謝謝

+0

你看到更新後的端口值[這裏](http://img267.imageshack.us/img267/6173/20130201162337.png)?在IDEA之外啓動時它在調試模式下工作嗎? – CrazyCoder

回答

31

幾周前我也有同樣的問題。我不記得100%我改變了什麼,但我知道它與文件$GLASSFISH_HOME/glassfish/domains/domain1/config/domain.xml有關。如果我記得我認爲我更改了以下行:

<java-config debug-options="-Xdebug -Xrunjdwp:transport=dt_socket,server=n,suspend=y,address=9009" system-classpath="" classpath-suffix=""> 

特別是服務器和掛起標誌。當我像這樣設置它們時,上面描述的錯誤就消失了。

+1

非常感謝你的工作:)我改變了服務器= y,暫停= n通過你告訴我,它是完美的。 – kiseiju

+0

這節省了數小時的挫折。謝謝! – motiver

+1

我希望我可以upvote你10次!讓我永遠把它弄清楚...在JetBrains上爲這個領域的可怕文檔感到羞恥 –

0

我有同樣的問題,因爲調試端口9009已被DbVisualizer應用程序佔用。 DbVisualizer使用一些隨機端口,此時,它選擇了9009.在我的情況下,我只需關閉DbVisualizer,GlassFish就可以在調試模式下正常啓動。

因此,簽出沒有進程佔用了您的Glassfish調試端口。

另一種可能的解決方案是更改此端口或使用共享內存。

Regards

相關問題