Gradle 配置 init.gradle 实现国内第三方镜像或企业内部Maven源
自带的Maven源地址是国外的,该Maven源在国内的访问速度是很慢的,除非使用了特别的手段。一般情况下,我们建议使用国内的第三方开放的Maven源或企业内部自建Maven源。
那么怎么处理就能够使用自定义的Maven源呢?
首先我们认识下init.gradle。
配置init.gradle文件可以实现在build开始之前执行,所以你可以在这个文件配置一些你想预先加载的操作。
启用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顺序执行这些脚本。
如何改成自定义的Maven源呢?参考我们给予的代码片段吧。
apply plugin:EnterpriseRepositoryPlugin
class EnterpriseRepositoryPlugin implements Plugin<Gradle> {
private static String ENTERPRISE_REPOSITORY_URL = "http://maven.aliyun.com/nexus/content/groups/public/"
void apply(Gradle gradle) {
// ONLY USE ENTERPRISE REPO FOR DEPENDENCIES
gradle.allprojects{ project ->
project.repositories {
// Remove all repositories not pointing to the enterprise repository url
all { ArtifactRepository repo ->
if (!(repo instanceof MavenArtifactRepository) ||
repo.url.toString() != ENTERPRISE_REPOSITORY_URL) {
project.logger.lifecycle "Repository ${repo.url} removed. Only $ENTERPRISE_REPOSITORY_URL is allowed"
remove repo
}
}
// add the enterprise repository
maven {
name "STANDARD_ENTERPRISE_REPO"
url ENTERPRISE_REPOSITORY_URL
}
}
}
}
}
相关推荐:
为现代 macOS 而生。 从架构到界面,IINA 只为现代 macOS 设计。它采用了 Yosemite 后的新设计语 […]
FileZilla是一个免费开源的FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能。 可控性、有条理的界 […]
Mozilla Firefox,中文俗称“火狐”(正式缩写为Fx或fx,非正式缩写为FF),是一个自由及开放源代码的网页 […]
MindManager,中文商标译作C,俗称“脑图”,是一款创造、管理和交流思想的通用标准的绘图软件,由美国Mindje […]
MindManager,中文商标译作C,俗称“脑图”,是一款创造、管理和交流思想的通用标准的绘图软件,由美国Mindje […]
拿起手机扫一扫即可带走我!