gradle使用阿里源及设置初始化脚本
下载依赖一般是先在本地查找,如果本地没有再去远程仓库查找。gradle是可以复用本地的maven仓库的,只要在安装maven时指定了M2_HOME即可。在build.gradle使用如下:
repositories {
mavenLocal()
mavenCentral()
}
这样在依赖管理的时候就会先从本地的maven仓库查找,如果没找到才会去远程仓库查找。
但是在天朝,访问国外的maven仓库速度是非常可怜的,所以最好用国内的镜像,这里以阿里爸爸的镜像仓库举例,阿里爸爸的仓库速度是非常棒的,gradle允许添加自定义远程仓库,只需在repository添加一个远程仓库即可,如下:
repositories {
mavenLocal()
maven { url 'http://maven.aliyun.com/nexus/content/repositories/central/' }
mavenCentral()
}
这样依赖的查找顺序就变成了先本地仓库查找,找不到再到阿里镜像仓库查找,都不成功才到maven中心库查找。
gradle默认生成的build.gradle文件的repositories里面是只有mavenCentral()的,虽说修改也不麻烦,但是不会偷懒的程序员就不是一个好的程序员,我们可以给gradle添加初始化脚本,这样就不用每次创建项目都去修改build.gradle了。
gradle 生命周期中有一个初始化( Initialization )的过程,这个过程运行在 build script 之前,我们可以在这个地方定制一些全局设置,比如配置仓库地址。
可以使用初始化脚本的位置:
- 命令行
- 放一个init.gradle 文件到USER_HOME/.gradle/目录下
- 放一个后缀是.gradle的文件到 USER_HOME/.gradle/init.d/ 目录下.
- 放一个后缀是.gradle的文件到 GRADLE_HOME/init.d/ 目录下.
我们以最后一种方式举例,因为这个路径是最好找的。
建立一个init.gradle文件,内容如下:
allprojects {
repositories {
mavenLocal()
maven { url 'http://maven.aliyun.com/nexus/content/repositories/central/' }
}
}
然后放到GRADLE_HOME/init.d/下。
我们测试一下,新建一个项目,选取一些本地没有的依赖,然后查看依赖的下载任务:
可以看到,依赖的下载地址为阿里的远程仓库。
我们再在build.gradle中建立一个任务:
task showRepositories << {
println "All repositories url:"
println repositories.collect { it.url }
}
在IDEA的右侧gradle工具栏中找到任务showRepositories,双击执行:
可以看到如下输出:
可以看到三个仓库url,分别是本地仓库、阿里仓库、maven*仓库。
上一篇: 虚幻4简易RayMarch
下一篇: 中老年吃什么保健品好 有何注意事项
推荐阅读