1. 程式人生 > >gradle本地、遠程倉庫配置

gradle本地、遠程倉庫配置

type pac 文件中 col ase 但是 dir lease center

本地倉庫配置

配置環境變量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
() }

每個項目都如此配置難免麻煩些,我們可以配置一個全局配置文件。

.gradle\init.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()  
}  



gradle本地、遠程倉庫配置