Gradle
Gradle
官网:https://gradle.org/
Gradle
官方下载安装教程页面:https://gradle.org/install/
Gradle
官方用户手册:https://docs.gradle.org/current/userguide/userguide.html
下载地址:http://services.gradle.org/distributions/
Windows安装
下载你所需要的版本,本文以gradle-8.2-milestone-1-all.zip
为例
下载后解压,设置环境变量GRADLE_HOME,GRADLE_USER_HOME
特别注意:这里我们接着再配置一GRALE_USER_HOME环境变量:GRALE_USER_HOME相当于配置Gradle本地仓库位置和GradleWrapper缓存目录。
GRALE_USER_HOME 名字固定切勿修改,此处和maven 仓库是一个地址;(根据自己本地情况而定)
之后在Path
变量中配置bin
路径:
最后通过cmd
命令查看
修改maven
下载源
Gradle
自带的Maven
源地址是国外的,该Maven
源在国内的访问速度是很慢的,除非使用魔法。
一般情况下,建议使用国内的第三方开放的Maven
源或企业内部自建Maven
源(私有Maven
库,例如:Nexus
此类的)。
认识init.d
文件夹
我们可以在gradle
的init.d
目录下创建以.gradle
结尾的文件,.gradle
文件可以实现在build
开始之前执行,所以你可以在这个文件配置一些你想预先加载的操作。
allprojects
:针对所有的功能
repositories
:下载项目指定jar包
buildscript
:构建脚本使用
按照顺序去下载:
mavenLocal
配置下面到maven
本地仓库需要配置M2_HOME
在init.d
文件夹创建init.gradle
文件
allprojects {
repositories {
mavenLocal()
maven { name "Alibaba" ; url "https://maven.aliyun.com/repository/public/" }
mavenCentral()
}
buildscript {
repositories {
maven { name "Alibaba" ; url 'https://maven.aliyun.com/repository/public/' }
maven { name "M2" ; url 'https://plugins.gradle.org/m2/' }
}
}
}
拓展 1 :启用init.gradle
文件的方法有:
- 在命令行指定文件,例如:
gradle --init-script yourDir/init.gradle -q taskName
。你可以多次输入此命令来指定多个init
文件 - 把
init.gradle
文件放USER_HOME/.gradle/
目录下 - 把以
.gradle
结尾的文件放到USER_HOME/.gradle/init.d/
目录下 - 把以
.gradle
结尾的文件放到GRADLE_HOME/init.d/
目录下
如果存在上面的4
种方式的2
种以上,gradle
会按上面的1-4
序号依次执行这些文件,
如果给定目录下存在多个init
脚本,会按拼音a-z
顺序执行这些脚本,每个init
脚本都存在一个对应的gradle
实例,
你在这个文件中调用的所有方法和属性,都会委托给这个gradle
实例,每个init
脚本都实现了Script
接口。
拓展 2 :仓库地址说明
mavenLocal()
:
指定使用maven
本地仓库,而本地仓库在配置maven
时settings
文件指定的仓库位置。如E:/repository
,
gradle
查找jar
包顺序如下:
USER_HOME/.m2/settings.xml
>> M2_HOME/conf/settings.xml
>> USER_HOME/.m2/repository
maven
{url
地址},指定maven
仓库,一般用私有仓库地址或其它的第三方库【比如阿里镜像仓库地址】。
mavenCentral()
:这是Maven
的中央仓库,无需配置,直接声明就可以使用。
jcenter()
:JCenter
中央仓库,实际也是是用的maven
搭建的,但相比Maven
仓库更友好,通过CDN
分发,并且支持https
访问,在新版本中已经废弃了,替换为了mavenCentral()
。
gradle
可以通过指定仓库地址为本地maven
仓库地址和远程仓库地址相结合的方式,避免每次都会去远程仓库下载依赖库。
这种方式也有一定的问题,如果本地maven
仓库有这个依赖,就会从直接加载本地依赖,如果本地仓库没有该依赖,那么还是会从远程下载。
但是下载的jar
不是存储在本地maven
仓库中,而是放在自己的缓存目录中,默认在USER_HOME/.gradle/caches
目录,
当然如果我们配置过GRADLE_USER_HOME
环境变量,则会放在GRADLE_USER_HOME/caches
目录,
gradle caches
不可以指向maven repository
,caches
下载文件不是按照maven
仓库中存放的方式。