Android项目升级Mockito至2.13.3遇依赖解析失败求助
解决Mockito 2.13.3版本无法解析的问题
根据你的描述,升级Mockito版本后出现Error:Failed to resolve: org.mockito:mockito-core:2.13.3,而且日志显示Gradle一直在尝试从https://maven.google.com下载相关文件——这其实是问题的核心:Mockito核心库并没有发布到Google的Maven仓库,它只托管在Maven Central(以及已归档的JCenter)。
下面是几个针对性的解决方案,按优先级尝试:
1. 调整仓库顺序并使用官方推荐的Google仓库配置
你当前的仓库列表里maven { url "https://maven.google.com" }可以替换为更简洁的google()(Android Gradle插件3.0+支持),同时把mavenCentral()放在仓库列表的最前面,让Gradle优先从Maven Central查找依赖:
allprojects { repositories { mavenCentral() // 优先从这里找Mockito google() // 替换原有的maven.google.com配置,更可靠 jcenter() // 可选,JCenter已归档,但老版本依赖可能还能访问 } }
这样修改后,Gradle会先去Maven Central搜索Mockito 2.13.3,而不是先去Google仓库碰运气。
2. 强制指定Mockito依赖的仓库来源
如果调整仓库顺序后还是不行,可以直接在依赖声明里强制指定从Maven Central获取,避免Gradle走错误的仓库路径:
dependencies { testImplementation "org.mockito:mockito-core:${mockitoVersion}" { repositories { mavenCentral() } } }
3. 清理Gradle缓存再同步
有时候本地Gradle缓存可能存在损坏的文件,导致下载失败。可以执行以下命令清理缓存并重新同步:
- Mac/Linux终端:
./gradlew clean build --refresh-dependencies - Windows命令行:
gradlew.bat clean build --refresh-dependencies
或者手动删除本地Gradle缓存目录(默认路径是~/.gradle/caches,Windows为C:\Users\<你的用户名>\.gradle\caches)。
完成以上操作后,重新执行Gradle同步,应该就能成功解析Mockito 2.13.3了。
内容的提问来源于stack exchange,提问作者Jing Li
相关产品推荐
相关产品推荐

