Gradle 强制所有项目替换为本地 Maven 私服地址

此文章发布于 60 个月前,部分信息可能已经过时,请自行斟酌确认。

自己搭建好的 Maven 私服仓库如果想在 Gradle 中使用,可以在项目的 build.gradle 中定义仓库,但这样每个项目都要设置,有种方法可以将所有 Gradle 项目的 Maven 远程仓库地址强制更换为私服仓库。

在默认的 Gradle 目录 C:\Users\你的用户名\.gradle 新建 init.gradle 文件。
如果之前修改过目录位置,比如微酷的环境变量设置了 GRADLE_USER_HOME=D:\Android\.gradle 那么就在自定义的位置新建文件,内容如下:

allprojects{
  repositories {
    def REPOSITORY_URL1 = 'http://192.168.10.10:8081/repository/maven-public/'
    def REPOSITORY_URL2 = 'http://maven.aliyun.com/nexus/content/groups/public/'
    all { ArtifactRepository repo ->
      if(repo instanceof MavenArtifactRepository){
        def url = repo.url.toString()
        if (url.startsWith('https://repo.maven.apache.org/maven2') || url.startsWith('https://repo1.maven.org/maven2') || url.startsWith('https://jcenter.bintray.com/')) {
          project.logger.lifecycle "Repository ${repo.url} replaced by $REPOSITORY_URL1."
          remove repo
        }
      }
    }
    maven {
      url REPOSITORY_URL1
    }
  }
}

方法比较暴力,判断仓库地址是 Maven 远程地址则强制移除,并添加本地私服。

最后修改:2019 年 11 月 23 日 09 : 19 PM
如果觉得我的文章对你有用,请随意赞赏

发表评论