maven JDWP Transport dt_socket failed to initialize,TRANSPORT_INIT(510)

vltsax25  于 2023-10-17  发布在  Maven
关注(0)|答案(9)|浏览(183)

我正在尝试在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在我的类路径上。
有什么想法吗?

xqk2d5yq

xqk2d5yq1#

要终止侦听端口的进程,请执行以下操作:
此命令应列出监听所有端口的进程:

netstat -ano

-o选项将显示进程ID。
如果你使用的是 *nix系统,你可以进一步完善:

netstat -ano | grep <badport>

当你有了进程ID,你可以用以下命令终止它:
windows :

  • 打开任务管理器,使用View > Select Columns > PID添加PID列
  • 找到进程并右键单击以杀死它

其他:

kill <PID>
0s0u357o

0s0u357o2#

对于Mac用户:

通常问题是另一个进程保持Maven调试端口5005打开。因此,我通过执行以下命令来检查哪个进程保持此端口打开:

lsof -i tcp:5005

输出为:

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

然后我就终止了这个过程:

kill -9 9089

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

hpxqektj

hpxqektj3#

转到Debug configuration-> Remote Java Application-> Connect选项卡,选中Allow termination of remote JVM
然后,当你要重新启动服务器/maven时,转到Debug perspective并单击read / stop按钮。

dnph8jn4

dnph8jn44#

这个问题已经问了很长时间,但我最近也遇到了同样的问题。
1.打开任务管理器
1.杀死所有“java.exe”进程
1.重新启动mvn调试
希望它能帮助

4urapxun

4urapxun5#

只是为了文档,我有完全相同的错误,在我的本地运行:
错误:传输错误绑定失败:地址已在使用中本机方法中出现致命错误:JDWP未初始化传输,jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)错误:JDWP传输dt_socket无法初始化,TRANSPORT_INIT(510)
在我的情况下,端口不是问题,而是主机文件。解决方法是添加/重新添加/取消注解:
127.0.0.1 localhost
配置文件将localhost设置为默认值,因此解决方案是添加该主机或将其更改为自定义主机。

0ve6wy6x

0ve6wy6x6#

补充一下,我上周遇到了类似的问题,当时使用eclipse进行调试是不可能的。

FATAL ERROR in native method: JDWP No transports initialized,
jvmtiError=AGENT_ERROR_TRANSPORT_LOAD(196)
ERROR: transport library not found: dt_socket
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_LOAD(509)
JDWP exit error AGENT_ERROR_TRANSPORT_LOAD(196): No transports initialized [../../../src/share/back/debugInit.c:690]

不幸的是,我在网上找不到任何有用的解决方案。
问题原来是防火墙以某种方式删除了我的JRE bin中的所有dll.(因此dt_socket.dll完全丢失)。
重新安装整个JRE很有帮助。

fcg9iug3

fcg9iug37#

我的解决方案是删除项目的断点!如果你有很多分支并且最近更改过,有时eclipse会丢失一些断点。

eh57zj3b

eh57zj3b8#

首先删除eclipse中的所有调试点
搜索带有服务器端口的PID
Netstat -ano|查找/i“7001”
在上面的行中,用您的端口号替换7001
示例o/p C:\Users\shaithal>netstat -ano| find /i“7001”TCP 127.0.0.1:51340 127.0.0.1:7001 SYN_SENT 17396
taskkill /F /PID 17396
搜索PID与调试端口也netstat -ano| find /i“8453”8453是调试端口在我的情况下替换8453与你的端口号在上面的行
样品O/P
C:\Users\shaithal>netstat -ano| find /i“8453”TCP 0.0.0.0:8453 0.0.0.0:0 LISTENING 19904
taskkill /F /PID 19904

icomxhvb

icomxhvb9#

这是主机文件添加下面
127.0.0.1 localhost
固定

相关问题