为何Gradle同步每次都会下载groovy-xxxx-3.0.9.pom?如何排查或禁用?
排查Groovy依赖自动下载的方法
- 执行Gradle依赖分析命令:在终端运行
./gradlew dependencies --configuration compileClasspath(Windows环境用gradlew.bat dependencies --configuration compileClasspath),在输出结果中搜索groovy,追踪完整的依赖链,定位是哪个第三方库、Gradle插件或脚本间接引入了这些包。 - 检查Android Gradle Plugin(AGP)版本:AGP本身可能会依赖Groovy组件,不同版本的AGP对Groovy的依赖版本有差异,确认当前AGP版本是否默认引入了Groovy 3.0.9相关包。
- 核对项目构建脚本:检查根项目和所有模块的
build.gradle.kts,确认是否误引入了Groovy插件(比如id("groovy")),这类插件会自动添加Groovy相关依赖。 - 排查自定义脚本与插件:如果项目使用了
buildSrc、自定义Gradle插件或其他外部构建脚本,检查这些代码是否间接引入了Groovy依赖。
禁用不必要的Groovy依赖下载
- 排除传递依赖:若找到具体的依赖来源,在对应依赖配置中添加排除规则,示例:
如果是AGP自身引入的,可在根项目implementation("com.example:target-library:1.0.0") { exclude(group = "org.codehaus.groovy") }build.gradle.kts的buildscript块中全局排除:buildscript { configurations.all { exclude(group = "org.codehaus.groovy") } } - 调整AGP版本:若确认是AGP版本导致的Groovy依赖,可尝试升级或降级AGP到不依赖Groovy 3.0.9的版本(注意同步测试项目兼容性,避免构建异常)。
- 移除Groovy插件:如果项目中误启用了Groovy插件,直接删除
id("groovy")相关配置即可停止自动引入依赖。
内容的提问来源于stack exchange,提问作者yifan_z
相关产品推荐
相关产品推荐

