使用init.gradle对Gradle 进行全局配置,不需要每次都修改项目文件

3,641 阅读1分钟

背景: 每次新建项目都需要重新配置gradle,添加国内镜像,有没有一个地方可以全局配置,不用每次修改项目呢? 搜索了一下找到了如下的方式:

  1. 找到gradle文件夹,新建 init.gradle 文件,添加以下内容
def repoConfig = {
    all { ArtifactRepository repo ->
        if (repo instanceof MavenArtifactRepository) {
            def url = repo.url.toString()
            if (url.contains('repo1.maven.org/maven2') || url.contains('jcenter.bintray.com')) {
                println "gradle init: (${repo.name}: ${repo.url}) removed"
                remove repo
            }
        }
    }
    // maven { url 'http://mirrors.cloud.tencent.com/nexus/repository/maven-public/' }
    maven { url 'https://maven.aliyun.com/repository/central' }
    maven { url 'https://maven.aliyun.com/repository/jcenter' }
    maven { url 'https://maven.aliyun.com/repository/google' }
    maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
}

allprojects {
    buildscript {
        repositories repoConfig
    }
    repositories repoConfig
}

每次项目运行时就会 先读取这个文件,自动添加阿里云镜像。

我们公司的项目是使用内网的maven, 只要修改下面的maven 地址就可以了。 如果使用内网maven需要配置 账号密码 和 cacerts文件的,可以放在 gradle.properties里

systemProp.javax.net.ssl.trustStore=<cacerts path>
systemProp.javax.net.ssl.trustStorePassword=changeit