Maven Eclipse Debug"JDWP Transport dt_socket初始化失败,TRANSPORT_INIT(510)"

Rém*_*ghe 32 java eclipse debugging maven jboss-weld

我正在尝试在Eclipse中调试Maven测试.当我使用maven选项maven.surefire.debug启动测试时,我收到此错误:

ERROR: transport error 202: bind failed: Address already in use
FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
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:690]
/bin/sh: line 1: 27500 Abort trap        
Run Code Online (Sandbox Code Playgroud)

当我尝试在我的shell中启动调试时,它是一样的.

我试图添加maven选项forkMode = never,如果没有maven.surefire.debug选项,我的焊接工件会出现另一个错误:

Error loading Weld bootstrap, check that Weld is on the classpath
Run Code Online (Sandbox Code Playgroud)

但是,Weld在我的课堂上.

有任何想法吗 ?

luc*_*ell 29

要终止侦听端口的进程:

此命令应列出在所有端口上侦听的进程:

netstat -ano
Run Code Online (Sandbox Code Playgroud)

-o选项将显示进程ID.

如果您使用的是*nix系统,则可以进一步改进:

netstat -ano | grep <badport> 
Run Code Online (Sandbox Code Playgroud)

当您拥有进程ID时,可以使用以下命令终止它:

视窗:

  • 打开任务管理器,使用视图>选择列> PID添加PID列
  • 找到该过程并右键单击以将其终止

其他:

kill <PID>
Run Code Online (Sandbox Code Playgroud)

  • 在Ubuntu中,我添加了`netstat -anop`来列出pid. (3认同)

ofi*_*rbt 8

对于 Mac 用户:

通常问题是另一个进程保持 Maven 调试端口 5005 打开。所以我通过执行检查了哪个进程保持这个端口打开:

lsof -i tcp:5005
Run Code Online (Sandbox Code Playgroud)

输出是:

COMMAND  PID        USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
java    9089 my_user    7u  IPv4 0xe88ec542fd4cffc9      0t0  TCP *:avt-profile-2 (LISTEN)
Run Code Online (Sandbox Code Playgroud)

然后我杀死了这个过程:

kill -9 9089
Run Code Online (Sandbox Code Playgroud)

如果您希望这两个进程能够一起运行,则必须更改其中至少一个的 Maven 调试端口。请参阅:http : //maven.apache.org/surefire/maven-surefire-plugin/examples/debugging.html


小智 5

转到Debug configuration-> Remote Java Application->Connect选项卡,检查Allow termination of remote JVM

然后,当您要重新启动服务器/ Maven时,请转到Debug perspective并单击read / stop按钮。


小智 5

这个问题问了很长时间,但我最近遇到了同样的问题。

  1. 打开任务管理器

  2. 杀死所有“java.exe”进程

  3. 重新启动 mvn 调试

希望它会有所帮助