Gradle 介绍
Gradle 是一个快速的、可信的、适应性强的自动化构建工具,它是开源的。它使用优雅的并且可扩展的描述性语言。其他的介绍在官网可以了解。
Gradle Wrapper
官方建议使用 Gradle Wrapper 来执行任何构建,有如下好处:
- 统一 Gradle 版本,并且是自动化的统一,当多个用户协作开发项目时,不需要每个人手动配置 Gradle,可由 IDE(如 IntelliJ IDEA) 自动配置。
- 更改简单的 Wrapper 定义即可为不同用户配置不同的 Gradle 版本。
- 更改简单的 Wrapper 定义即可为不同的构建环境配置不同的 Gradle 版本。
基于以上好处,我们就开始使用 Gradle Wrapper 来构建一个新的项目。
Gradle 使用
手动安装 Gradle
使用 Gradle Wrapper 需要一个提前安装好的 Gradle,所以我们需要先安装一个可用的 Gradle,安装的这个 Gradle 只用于初始化用 Gradle Wrapper 构建的项目。
安装 Gradle 的步骤很简单,就是下载 Gradle 发行包,然后解压并配置环境变量(不配置环境变量也可以,在执行命令的时候要带上解压后 Gradle 的 bin 目录的相对路径或者绝对路径)。
此处下载的是 gradle-8.4-bin.zip
文件。
将文件解压到 D:\tools,那么目录结构如下:
新增环境变量 GRADLE_HOME
,值为 D:\tools\gradle-8.4
。编辑 PATH
变量,增加条目 %GRADLE_HOME%\bin
。
打开 CMD 窗口,输入以下命令测试 Gradle 是否安装成功。
$ gradle -v
------------------------------------------------------------
Gradle 8.4
------------------------------------------------------------
Build time: 2023-10-04 20:52:13 UTC
Revision: e9251e572c9bd1d01e503a0dfdf43aedaeecdc3f
Kotlin: 1.9.10
Groovy: 3.0.17
Ant: Apache Ant(TM) version 1.10.13 compiled on January 4 2023
JVM: 11.0.17 (Oracle Corporation 11.0.17+10-LTS-269)
OS: Windows 11 10.0 amd64
初始化
初始化的构建任务名称是 wrapper
,在初始化之前先介绍一下这个任务支持的参数:
--gradle-version
,作用是指定指定构建 Wrapper 的 Gradle 的版本,默认情况下是使用和执行wrapper
任务相同的 Gradle 的版本,指定了之后会下载指定版本的 Gradle 并执行wrapper
构建。使用方式是在后面增加--gradle-version=xxx
,此属性允许以下值:- latest
- release-candidate
- nightly
- release-nightly
- 具体的版本号,比如:7.5
--distribution-type
,Wrapper 使用的 Gradle 的类型,分别有bin(默认)
和all
。这两种区别是bin
仅含有二进制文件,而all
还包含源码和 demo 代码,可以在 IDEA 中编写 Gradle 文件获得代码自动补全。当然下载all
类型的文件的体积比bin
的大。--gradle-distribution-url
,Wrapper 下载 Gradle 发布包的 HTTP 链接。这个默认是使用官方的链接,当然可以替换成国内的镜像源,速度 可能 会快一点。--gradle-distribution-sha256-sum
,验证下载的 Gradle 文件的 SHA256 哈希值,确保文件在下载过程中没有被篡改或者损坏。--network-timeout
,指定下载 Gradle 文件的超时时间,默认10000
,单位是毫秒(ms)。--no-validate-url
、--validate-url
,这两个是成对的参数,表示是否启用对 URL(--gradle-distribution-url
参数指定) 的验证,默认启用。
到现在终于可以真正初始化了。
-
首先新建
D:\test\gradle-wrapper-test
目录。 -
新建文件
settings.gradle
,表示这是个 Gradle 项目。 -
在这个目录里面运行
CMD
命令:$ gradle wrapper --gradle-version=7.5 --distribution-type=all
执行完成后,查看 gradle\wrapper\gradle-wrapper.properties
文件:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
就这么一步就已经完成了使用 Wrapper 方式创建 Gradle 项目。
另外假如需要使用 Gradle 构建此项目,比如运行 build
任务,注意要使用项目下的 gradlew.bat
(Unix 系统使用 gradlew
)。
还有一个地方需要说明,上面的 gradle-wrapper.properties
文件中 distributionBase
和 zipStoreBase
的值都是 GRADLE_USER_HOME
(不是 GRADLE_HOME
),此处 GRADLE_USER_HOME
是环境变量,Gradle 下载的发行包以及所有的依赖都在这个目录下面,默认的目录是 ${user_home}\.gradle
,而 ${user_home}
一般在 C 盘,所以如果想要节省 C 盘空间的话,可以将这个环境变量明确配置到别的位置。