gradle 生命週期中有一個初始化( Initialization )的過程,這個過程運行在 build script 之前,我們可以在這個地方做一點系統全局的設置,如配置倉庫地址。
你可以在以下幾個位置實現倉庫地址全局配置:
- 放一個init.gradle 文件到USER_HOME/.gradle/目錄下
- 放一個後綴是.gradle的文件到 USER_HOME/.gradle/init.d/ 目錄下
- 放一個後綴是.gradle的文件到 GRADLE_HOME/init.d/ 目錄下.
或者直接修改工程中build.gradle文件中的倉庫配置,也能更改倉庫地址,只不過只對當前工程有效。
個人使用在USER_HOME/.gradle/下創建init.gradle文件 ,配置文件init.gradle如下:
allprojects{
repositories {
def ALIYUN_REPOSITORY_URL = 'http://maven.aliyun.com/nexus/content/groups/public'
def ALIYUN_JCENTER_URL = 'http://maven.aliyun.com/nexus/content/repositories/jcenter'
all { ArtifactRepository repo ->
if(repo instanceof MavenArtifactRepository){
def url = repo.url.toString()
if (url.startsWith('https://repo1.maven.org/maven2')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_REPOSITORY_URL."
remove repo
}
if (url.startsWith('https://jcenter.bintray.com/')) {
project.logger.lifecycle "Repository ${repo.url} replaced by $ALIYUN_JCENTER_URL."
remove repo
}
}
}
maven {
url ALIYUN_REPOSITORY_URL
url ALIYUN_JCENTER_URL
}
}
}