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

Gradle为何替换build文件中指定的reflections依赖版本?

搞定Gradle依赖版本被覆盖的问题

一、找到0.10版本的来源

  • 查依赖树:执行./gradlew dependencies(Windows环境用gradlew.bat dependencies),在输出里搜索org.reflections:reflections,找到带-> 0.10标记的条目,就能明确是哪个依赖间接引入了该版本。
  • 扫全局配置:
    • 检查项目根目录的build.gradle或settings.gradle,看看allprojects/subprojects块里有没有统一的版本管理配置,比如dependencyManagement节点或ext属性定义的版本变量。
    • 打开gradle.properties文件,排查是否存在reflectionsVersion=0.10这类配置项。
    • 查看本地Gradle全局配置(~/.gradle/init.d/下的脚本或~/.gradle/gradle.properties),确认是否全局强制设置了该依赖的版本。
  • 排查插件:部分第三方插件会自动引入特定版本的依赖,检查项目中应用的插件列表,看看有没有插件附带了reflections 0.10版本。

二、强制使用指定的0.9.12版本

  • 直接锁定版本:在依赖声明里添加force = true,确保Gradle优先使用你指定的版本:
    compile group: 'org.reflections', name: 'reflections', version: '0.9.12', force: true
    
  • 用依赖约束统一控制:在dependencies块中添加约束,全局把控该依赖的版本:
    dependencies {
        constraints {
            compile 'org.reflections:reflections:0.9.12'
        }
        compile group: 'org.reflections', name: 'reflections', version: '0.9.12'
    }
    
  • 排除传递依赖:如果确定是某个依赖间接引入了0.10版本,在对应依赖声明里排除该传递依赖:
    compile('com.example:some-dependency:x.y.z') {
        exclude group: 'org.reflections', module: 'reflections'
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 03:27:36