分享完后的目标
- 知道 Gradle 是什么,怎么用
- 可以读懂项目中 build.gradle
- 使用gradle搭建一个spring-boot-web
什么是 Gradle
项目的构建过程是大同小异的,有一些过程是”通用“的,也就是每个项目的构建都要经历一些公共步骤。
Gradle 是一个构建工具,它是用来帮助我们构建项目的,构建包括编译、打包等过程。我们可以为 Gradle 指定构建规则,然后它就会根据我们的“命令”自动为我们构建项目。
有些时候,我们会有一些个性化的构建需求,比如我们引入了第三方库,或者我们想要在通用构建过程中做一些其他的事情,这时我们就要自己在系统默认构建规则上做一些修改。这时候我们就要自己向 Gradle "下命令"了,这时候我们就需要用 Gradle 能听懂的话了,也就是Groovy 。
Gradle 的核心是一种用于基于依赖的编程的语言。用 Gradle 术语,这意味着您可以定义任务以及任务之间的依赖关系。Gradle 保证这些任务按照其依赖关系的顺序执行,并且每个任务仅执行一次。这些任务形成有向无环图。
Gradle 安装 (Ubuntu环境下)
- 先安装 jdk
//运行 java -version
$ java -version
java version "1.8.0_121"
- 下载gradle包,
下载地址 https://gradle.org/releases
- 解压安装
$ mkdir /opt/gradle
$ unzip -d /opt/gradle gradle-6.0.1-bin.zip
$ ls /opt/gradle/gradle-6.0.1
LICENSE NOTICE bin getting-started.html init.d lib media
- 配置环境变量
//打开 /etc/profile , 结尾输入:
$ export PATH=$PATH:/opt/gradle/gradle-6.0.1/bin
//保存后,使用source /etc/profile 更新缓存
- 验证是否安装
$ gradle -v
------------------------------------------------------------
Gradle 6.0.1
------------------------------------------------------------
添加 Gradle Wrapper
- 运行 wrapper task (示例:demo0)
$ gradle wrapper
> Task :wrapper
BUILD SUCCESSFUL in 0s
1 actionable task: 1 executed
- 文件结构如下:
├── build.gradle // 用于配置当前项目的Gradle构建脚本
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar // 用于下载 Gradle 的相关代码实现
│ └── gradle-wrapper.properties // wrapper 所使用的配置信息,比如 gradle 的版本等信息
├── gradlew // 基于 unix 的系统的 Gradlew 脚本
├── gradlew.bat // 基于 windows 的系统的 Gradlew 脚本
gradlew 是 gradle wrapper 的缩写,也就是说它对 gradle 的命令进行了包装,比如我们进入到指定 Module 目录并执行 “gradlew.bat assemble” 即可完成对当前Module的构建( Windows 系统下)。
- Gradle Wrapper 允许你在没有安装 Gradle 的机器上执行 Gradle 构建。
- Gradle Wrapper 实际上就是一个脚本,使用它可以下载和使用指定版本的gradle,根据需要进行在使用之前进行下载,有效避免本地机器的设定等环境一致性问题。
当前系统安装的 gradle 的版本为4.10.2,但是在当前的 project 里面希望使用5.0的 gradle,这时 gradle wrapper 就可以一显身手了
// 使用命令来修改wrapper所使用的gradle版本信息
> gradle wrapper --gradle-version 5.0-rc-5 --distribution-type bin
//这条命令只是修改了gradle wrapper的配置文件的下载文件的信息