Maven Eclipse调试“ JDWP Transport dt_socket初始化失败,TRANSPORT_INIT(510)”


问题内容

我正在尝试在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

当我尝试在shell中启动调试时也是如此。

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

Error loading Weld bootstrap, check that Weld is on the classpath

但是,Weld在我的课堂上。

有任何想法吗 ?


问题答案:

要终止在端口上侦听的进程:

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

netstat -ano

-o选项将显示进程ID。

如果您使用的是* nix系统,则可以通过以下方法进一步完善:

netstat -ano | grep <badport>

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

视窗:

  • 打开任务管理器,使用“视图”>“选择列”>“ PID”添加“ PID”列
  • 找到进程并单击鼠标右键将其杀死

其他:

kill <PID>