IntelliJ中Gradle任务执行完成后等待约20秒才结束进程问题咨询
Gradle构建完成后IDLE卡顿解决方案
根因
该问题是Kotlin 1.5.30 Gradle插件与Gradle 7.2在Windows系统下的已知兼容性缺陷:
当代码变更涉及结构修改(如属性名、函数签名调整)时,Kotlin增量编译完成后会触发全量缓存索引更新操作,该操作默认会阻塞Gradle进程退出,表现为构建成功后长时间停留在IDLE状态。修改常量等无结构变更的场景不会触发索引更新,因此不会出现卡顿。
解决方案
1. 版本升级(优先选择)
直接升级相关组件到修复后的版本即可彻底解决问题:
- Kotlin Gradle插件升级到1.6.20及以上
- Gradle版本配套升级到7.5及以上
2. 配置规避(不升级版本时使用)
在项目根目录的gradle.properties文件中添加以下配置:
# 关闭Kotlin增量编译的类路径快照功能,避免阻塞式索引更新 kotlin.incremental.useClasspathSnapshot=false # 禁用Windows平台多余的文件系统监听逻辑 kotlin.internal.incremental.useFsWatcher=false # 缩短Gradle守护进程闲置超时时间,强制进程更快退出 org.gradle.daemon.idletimeout=3000
添加配置后执行一次gradlew clean清理旧缓存,后续构建即可正常退出。
3. 临时验证方法
执行构建命令时添加--no-daemon参数关闭Gradle守护进程,可快速验证问题根因:
gradlew.bat run --no-daemon
如果使用该参数后无卡顿,即可确认是守护进程关联的Kotlin缓存更新逻辑导致的问题。
内容的提问来源于stack exchange,提问作者Jordi
相关产品推荐
相关产品推荐

