gradle本地、远程仓库配置

本地仓库配置

配置环境变量GRADLE_USER_HOME,并指向你的一个本地目录,用来保存Gradle下载的依赖包。

 

远程仓库配置

一般Gradle、maven从中央仓库mavenCentral() http://repo1.maven.org/maven2/下载依赖包,但是在国内下载速度巨慢,我们只能使用国内的镜像。
所以每个Gradle构建的项目中,我们可以在build.gradle做如下配置

repositories {
maven {
url 'http://maven.aliyun.com/nexus/content/groups/public/'
}
mavenCentral()
}

每个项目都如此配置难免麻烦些,我们可以配置一个全局配置文件。

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

init.gradle简介

init.gradle文件在build开始之前执行,所以你可以在这个文件配置一些你想预先加载的操作
例如配置build日志输出、配置你的机器信息,比如jdk安装目录,配置在build时必须个人信息,比如仓库或者数据库的认证信息,and so on.

启用init.gradle文件的方法:
1、在命令行指定文件,例如:gradle –init-script yourdir/init.gradle -q taskName.你可以多次输入此命令来指定多个init文件
2、把init.gradle文件放到USER_HOME/.gradle/ 目录下.
3、把以.gradle结尾的文件放到USER_HOME/.gradle/init.d/ 目录下.
4、把以.gradle结尾的文件放到GRADLE_HOME/init.d/ 目录下.

如果存在上面的4种方式的2种以上,gradle会按上面的1-4序号依次执行这些文件,如果给定目录下存在多个init脚本,会按拼音a-z顺序执行这些脚本
类似于build.gradle脚本,init脚本有时groovy语言脚本。每个init脚本都存在一个对应的gradle实例,你在这个文件中调用的所有方法和属性,都会
委托给这个gradle实例,每个init脚本都实现了Script接口

下面的例子是在build执行之前给所有的项目制定maven本地库,这个例子同时在 build.gradle文件指定了maven的仓库中心,注意它们之间异同

build.gradle

repositories {
    mavenCentral()
}

task showRepos << {
    println "All repos:"
    println repositories.collect { it.name }
}

init.gradle

allprojects {
    repositories {
        mavenLocal()
    }
}


在命令行输入命令

gradle –init-script init.gradle -q showRepos

输出为:

> gradle --init-script init.gradle -q showRepos
All repos:
[MavenLocal, MavenRepo]

常用仓库列表

repositories {  
    mavenCentral()  
    maven { url "https://jitpack.io" }  
    maven { url "http://maven.aliyun.com/nexus/content/groups/public/" }  
    maven { url 'http://maven.oschina.net/content/groups/public/' }   
    maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }   
    maven { url "http://maven.springframework.org/release" }   
    maven { url "http://maven.restlet.org" }   
    maven { url "http://mirrors.ibiblio.org/maven2" }  
    maven {  
        url "http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories/"  
    }  
    maven { url 'https://maven.fabric.io/public' }  
    jcenter()  
    google()  
}  



原文地址:https://www.cnblogs.com/lenmom/p/10364743.html