Gradle多项目并行运行时journal缓存锁超时问题求助
解决Gradle journal缓存锁超时问题
问题信息
Timeout waiting to lock journal cache (/Users/myusername/.gradle/caches/journal-1). It is currently in use by another Gradle instance.
Owner PID: 1750
Our PID: 1763
Owner Operation:
Our operation:
Lock file: /Users/myusername/.gradle/caches/journal-1/journal-1.lock
已尝试但无效的操作:
./gradlew --stop- 删除
.gradle目录下所有.lock文件 - 删除
.gradle目录
可行解决方案
1. 强制终止占用锁的进程
根据错误信息里的Owner PID(此处为1750),直接终止对应进程:
kill -9 1750
若需确认进程归属,可先查看进程详情:
ps aux | grep 1750
2. 为项目配置独立缓存目录
在每个项目的gradle.properties文件中添加以下配置,让不同项目使用专属缓存,避免全局缓存锁冲突:
org.gradle.cache.dir=./.gradle/local-cache
配置后,项目缓存会存储在自身根目录的.gradle/local-cache下,不再共用全局缓存。
3. 延长Gradle锁超时时间
在全局~/.gradle/gradle.properties或项目级gradle.properties中添加超时配置,延长锁等待时长:
org.gradle.cache.lock.timeout=120000 # 单位:毫秒,此处设置为2分钟
4. 清理IntelliJ残留进程与配置
- 彻底关闭IntelliJ(包括后台运行的所有实例),重新打开后再运行项目。
- 进入
Settings > Build, Execution, Deployment > Build Tools > Gradle,尝试临时切换Gradle user home路径,或勾选Offline work减少缓存交互。
5. 重启系统
若以上方法无效,直接重启MacBook,彻底释放所有残留的锁占用进程。
内容的提问来源于stack exchange,提问作者modernsege
相关产品推荐
相关产品推荐

