You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gradle依赖解析长期卡住问题求助(Gradle 6.8.3)

Gradle依赖解析卡顿+不稳定依赖图问题的解决线索

1. 强制锁定冲突依赖版本

针对警告里的两个包,直接在build.gradle里锁定版本,避免Gradle反复尝试版本匹配:

configurations.all {
    resolutionStrategy {
        // 替换为你项目兼容的稳定版本,确保两个包版本匹配
        force 'org.apache.httpcomponents:httpasyncclient:4.1.5'
        force 'org.apache.httpcomponents:httpcore-nio:4.4.14'
    }
}

版本可以查Maven Central上的兼容稳定版,优先选和项目其他依赖适配的版本。

2. 调试依赖解析过程

用参数查看解析日志,定位卡顿节点:

# 快速查看解析关键步骤
./gradlew build --info | grep "resolving"

# 生成详细调试日志(日志较大,建议输出到文件)
./gradlew build --debug > gradle-debug.log

从日志里找长时间停滞的依赖或仓库请求,就能明确是网络问题还是某个依赖的问题。

3. 优化仓库配置

  • 替换为国内镜像仓库,减少网络延迟:
repositories {
    maven { url 'https://maven.aliyun.com/repository/public' }
    // 注释掉速度慢的官方仓库或第三方仓库
    // mavenCentral()
}
  • 删除重复或不必要的仓库,Gradle会遍历所有仓库找依赖,仓库越多耗时越长。

4. 清理并刷新缓存

缓存损坏可能导致解析异常,清理后重新构建:

# 清理本地Gradle缓存
rm -rf ~/.gradle/caches

# 强制刷新依赖并构建
./gradlew clean build --refresh-dependencies

5. 排查依赖冲突根源

用dependencyInsight命令查看两个包的依赖路径,找出导致版本冲突的源头:

./gradlew dependencyInsight --dependency org.apache.httpcomponents:httpasyncclient
./gradlew dependencyInsight --dependency org.apache.httpcomponents:httpcore-nio

找到冲突的依赖后,排除其传递依赖:

dependencies {
    implementation('引发冲突的依赖坐标') {
        exclude group: 'org.apache.httpcomponents', module: 'httpasyncclient'
    }
}

6. 升级Gradle版本(谨慎操作)

Gradle 6.8.3是2021年的老版本,后续版本对依赖解析引擎有不少优化。可以尝试升级到同大版本的最新版(比如6.9.4),或者7.x系列(注意检查插件、Kotlin版本兼容性):

./gradlew wrapper --gradle-version 6.9.4

内容的提问来源于stack exchange,提问作者Bharath N

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 05:08:12