返回

踩坑记录 | Gradle7.0+仓库配置踩坑:Build was configured to prefer settings repositories over project repositories but repository 'maven' was added by build file 'build.gradle'

踩坑

问题描述

新版Gradle从7.0版本开始,新增了 dependencyResolutionManagement 作为推荐的配置仓库方法。

Android Studio也不知道从哪个版本开始,创建新Project时开始使用这种方法作为默认配置仓库的方法,然而这个代码块是放在 settings.gradle 里面的。

这就导致了我想要配置镜像时翻遍了两个 build.gradle 找不到配置仓库的地方,自己加又一直报错:

Build was configured to prefer settings repositories over project repositories but repository 'maven' was added by build file 'build.gradle'

意思是已经加入过这个仓库了,然而提示的重复位置却不是默认的配置而是我们自己加入配置的位置,完全不知道重复在哪了,令人摸不着头脑。

解决方法

删除掉其他地方的 repositories,在 settings.gradle 下配置仓库。

顺便附上我自己修改后的镜像代码:

settings.gradle

pluginManagement {
    repositories {
        gradlePluginPortal()
        maven { url "https://maven.aliyun.com/repository/google" }
        maven { url "https://maven.aliyun.com/repository/public" }
    }
}
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        maven { url "https://maven.aliyun.com/repository/google" }
        maven { url "https://maven.aliyun.com/repository/public" }
        maven { url 'https://www.jitpack.io' }
    }
}
rootProject.name = "Sample"
include ':app'

附录

参考文献

版权信息

本文原载于reincarnatey.net,遵循CC BY-NC-SA 4.0协议,复制请保留原文出处。

CC BY-NC-SA 4.0
最后更新于 Jan 21, 2023 23:40 CST
本博客所有内容无特殊标注均为失迹原创内容,复制请保留原文出处。
Built with Hugo
Theme Stack designed by Jimmy, mod by Korita
© Licensed Under CC BY-NC-SA 4.0