@act262
2017-07-12T02:07:08.000000Z
字数 2252
阅读 1297
gradle
jcenter和mavenCentral,增加指定的mavenbuild.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}}}
~/.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}}}
jcenter和mavenCentral,在前面增加指定的maveni.e.
allprojects{// 这里指定的是buildscript的repobuildscript{repositories{maven{url 'http://maven.aliyun.com/nexus/content/repositories/' url}}}// 这里指定的是project的reporepositories {println '优先使用aliyun maven'maven {url 'http://maven.aliyun.com/nexus/content/repositories/'}}}
把这段script放到当前项目的build.gradle或者全局的init.gradle中
直接移除默认源有时候不够好,有时候我们指定的源可能网络问题访问不了,这时候就需要通过默认的源来访问。
在不改变各个原项目配置的情况下,建议使用全局配置初始化脚本的方式来做比较好。
附上init.gradle
def gradle = getGradle()println "***************************************************"println "Dump gradle information"println "Version:${gradle.getGradleVersion()}"println "UserHomeDir:${gradle.getGradleUserHomeDir()}"println "HomeDir:${gradle.getGradleHomeDir()}"println "***************************************************"// Jinfuzi Maven credentialsdef NEXUS_SERVER = "http://nexus.jfz.com/content/groups/public"def NEXUS_USERNAME = "developer"def NEXUS_PASSWORD = "jinfuzi2014"// 阿里云 maven 服务器def MAVEN_ALIYUN = 'http://maven.aliyun.com/nexus/content/groups/public'allprojects {buildscript {repositories {maven {credentials {username NEXUS_USERNAMEpassword NEXUS_PASSWORD}url NEXUS_SERVER}maven {url MAVEN_ALIYUN}jcenter()}}repositories {maven {credentials {username NEXUS_USERNAMEpassword NEXUS_PASSWORD}url NEXUS_SERVER}maven {url MAVEN_ALIYUN}jcenter()}}
参考:https://docs.gradle.org/current/userguide/init_scripts.html