Gradlew命令卡在Listening for transport dt_socket at address:5006求助
解决Gradle命令在CMD中卡住并显示“Listening for transport dt_socket at address:5006”的问题
我之前踩过一模一样的坑!这个提示其实很明确:你的Gradle进程被强制进入了远程调试等待模式,它一直在等调试工具(比如IDEA、Eclipse的调试器)连接到5006端口,自然就卡在这儿不动了。下面是几个快速排查和解决的方法:
1. 清空临时或系统级的Gradle调试环境变量
- 如果你是在当前CMD窗口里临时设置过调试参数,直接关掉这个窗口重新打开,或者执行命令清空环境变量:
set GRADLE_OPTS= - 要是系统环境变量里配置了
GRADLE_OPTS并包含调试参数(比如-agentlib:jdwp=...),右键“此电脑”→“属性”→“高级系统设置”→“环境变量”,找到GRADLE_OPTS变量,删掉里面的调试相关内容,保存后重启CMD再试。
2. 检查项目本地的Gradle配置文件
- 打开项目根目录下的
gradle.properties文件,查找是否有类似这样的配置:
把这一行注释掉(前面加org.gradle.jvmargs=-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5006#)或者直接删除,保存后再执行Gradle命令。 - 再检查项目的
build.gradle文件,看看有没有任务配置了调试用的JVM参数,比如:
找到后移除这些调试参数。tasks.withType(JavaExec) { jvmArgs '-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5006' }
3. 排查IDE自动注入的调试配置
- 如果你之前用IDE(比如IntelliJ IDEA)以“Debug”模式运行过Gradle任务,IDE可能会临时修改Gradle的启动配置。试试重启IDE,或者在IDE的Gradle工具窗口里,右键点击你要执行的任务,选择“Run”而不是“Debug”模式。
4. 临时绕过调试模式执行命令
- 要是不想修改任何配置,想临时跑一次正常的Gradle命令,可以直接在命令里覆盖JVM参数:
这个命令会清空Gradle的JVM参数,强制它以正常模式运行。gradlew build -Dorg.gradle.jvmargs=
做完上面的操作后,再执行gradlew -version试试,如果能正常输出版本信息,就说明问题解决啦!
内容的提问来源于stack exchange,提问作者Rohit
相关产品推荐
相关产品推荐

