@act262
2017-07-12T02:07:08.000000Z
字数 2252
阅读 1194
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的repo
buildscript{
repositories{
maven{
url 'http://maven.aliyun.com/nexus/content/repositories/' url
}
}
}
// 这里指定的是project的repo
repositories {
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 credentials
def 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_USERNAME
password NEXUS_PASSWORD
}
url NEXUS_SERVER
}
maven {
url MAVEN_ALIYUN
}
jcenter()
}
}
repositories {
maven {
credentials {
username NEXUS_USERNAME
password NEXUS_PASSWORD
}
url NEXUS_SERVER
}
maven {
url MAVEN_ALIYUN
}
jcenter()
}
}
参考:https://docs.gradle.org/current/userguide/init_scripts.html