6

在带有 glassfish 3.1.2.2 的 ubuntu 12.04 上的 intelliJ 12.0 中,我正在尝试以调试模式启动我的 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]

我尝试将 domain.xml 中的端口 9009 更改为另一个,但没有成功。你能帮我解决这个问题吗?

谢谢

4

4 回答 4

34

几周前我也遇到了同样的问题。我不记得 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="">

特别是服务器和挂起标志。当我这样设置它们时,您上面描述的错误就消失了。

于 2013-02-03T04:24:18.443 回答
0

我遇到了同样的问题,因为调试端口 9009 已被 DbVisualizer 应用程序占用。DbVisualizer 使用了一些随机端口,此时它选择了 9009。在我的情况下,我只需要关闭 DbVisualizer,GlassFish 就可以在调试模式下正常启动。

因此,请检查没有进程占用您的 Glassfish 调试端口。

另一种可能的解决方案是更改此端口,或使用共享内存。

问候

于 2014-09-23T11:48:53.977 回答
0

在最新版本的 IntelliJ 中,应用程序知道调试模式的无效设置。如果是这种情况,当您打开 Java EE 服务器的运行/调试配置时,您将在底部看到一条警告消息:

IntelliJ 中的警告消息

只需按下修复按钮,您将修复您的“domain.xml”配置文件。

本教程中也对此进行了说明:https ://www.jetbrains.com/help/idea/2016.1/developing-a-java-ee-application.html

于 2017-02-22T20:08:26.180 回答
0

对于与我有同样问题的未来可怜的灵魂:

技嘉主板附带的工具之一(我相信是 gCloud)在端口 9009 上注册了一个 Windows 服务。然后这个端口在 netstat -ano 中显示为 PID 4(Windows 系统的东西)正在使用。

于 2019-08-13T08:30:21.890 回答