11-Gradle 安装 new

1、Gradle安装

1.1、Gradle安装说明

SpringBoot 官方文档明确指出,目前 SpringBoot 的 Gradle 插件需要 gradle6.8 版本及以上,所以我们这里选择 7.x 版本。

1659333802050

其中 SpringBoot 与 Gradle 存在版本兼容问题,Gradle 与 Idea 也存在兼容问题,所以考虑到 java 程序员会使用 SpringBoot,所以要选择 6.8 版本及高于 6.8 版本的 Gradle,那么相应的 idea 版本也要升级,不能太老哦。

详见:Spring Boot Gradle Plugin Reference Guide

1.2、安装JDK

要求 Jdk 为 1.8 或者 1.8 版本以上。

1.3、下载并解压到指定目录

1659334086682

解压到指定目录: D:\software\gradle-7.4.1

1.4、配置环境变量

1659334147058

特别注意:这里我们接着再配置一个 GRALE_USER_HOME 环境变量,GRALE_USER_HOME 相当于配置 Gradle 本地仓库位置和 Gradle Wrapper 缓存目录。

1659334203909

1.5、检测是否安装成功

运行 gradle -v 或者 gradle --version 检测是否安装成功

2、Gradle 项目目录结构

Gradle 项目默认目录结构和 Maven 项目的目录结构一致,都是基于约定大于配置【Convention Over Configuration】。

其完整项目目录结构如下所示:

1659342439463

  1. 只有 war 工程才有 webapp 目录,对于普通的 jar 工程并没有 webapp 目录。
  2. gradlew 与 gradlew.bat 执行的指定 wrapper 版本中的 gradle 指令,不是本地安装的 gradle 指令哦。

3、Gradle 创建第一个项目

借助于 spring 脚手架创建 gradle 第一个项目:https://start.spring.io/

1659342618667

查看生成的 gradle 项目目录结构如下所示:

1659342655853

与上图对比会发现:总体的目录结构与上图说明的是一致的。

4、Wrapper 包装器

Gradle Wrapper 实际上就是对 Gradle 的一层包装,用于解决实际开发中可能会遇到的不同的项目需要不同版本的 Gradle 问题。例如:把自己的代码共享给其他人使用,可能出现如下情况:

  1. 对方电脑没有安装 gradle
  2. 对方电脑安装过 gradle,但是版本太旧了

这时候,我们就可以考虑使用 Gradle Wrapper 了。这也是官方建议使用 Gradle Wrapper 的原因。实际上有了 Gradle Wrapper 之后,我们本地是可以不配置 Gradle 的,下载 Gradle 项目后,使用 gradle 项目自带的 wrapper 操作也是可以的。

那如何使用 Gradle Wrapper 呢?

项目中的 gradlew、gradlew.cmd 脚本用的就是 wrapper 中规定的 gradle 版本。参见源码

而我们上面提到的 gradle 指令用的是本地 gradle,所以 gradle 指令和 gradlew 指令所使用的 gradle 版本有可能是不一样的。

gradlew、gradlew.cmd 的使用方式与 gradle 使用方式完全一致,只不过把 gradle 指令换成了 gradlew 指令。

当然,我们也可在终端执行 gradlew 指令时,指定指定一些参数,来控制 Wrapper 的生成,比如依赖的版本等,如下:

参数名 说明
–gradle-version 用于指定使用的gradle版本
–gradle-distribution-url 用于指定下载gradle发行版的url地址

具体操作如下所示 :

1
2
gradle wrapper --gradle-version=4.4     # 升级wrapper版本号,只是修改gradle.properties中wrapper版本,未实际下载
gradle wrapper --gradle-version 5.2.1 --distribution-type all # 关联源码用

GradleWrapper 的执行流程:

  1. 当我们第一次执行 ./gradlew build 命令的时候,gradlew 会读取 gradle-wrapper.properties 文件的配置信息
  2. 准确的将指定版本的 gradle 下载并解压到指定的位置(GRADLE_USER_HOME 目录下的 wrapper/dists 目录中)
  3. 并构建本地缓存(GRADLE_USER_HOME 目录下的 caches 目录中),下载再使用相同版本的 gradle 就不用下载了
  4. 之后执行的 ./gradlew 所有命令都是使用指定的 gradle 版本。如下图所示:

1659343820722

gradle-wrapper.properties 文件解读:

字段名 说明
distributionBase 下载的gradle压缩包解压后存储的主目录
distributionPath 相对于distributionBase的解压后的gradle压缩包的路径
zipStoreBase 同distributionBase,只不过是存放zip压缩包的
zipStorePath 同distributionPath,只不过是存放zip压缩包的
distributionUrl gradle发行版压缩包的下载地址

注意:前面提到的 GRALE_USER_HOME 环境变量用于这里的 Gradle Wrapper 下载的特定版本的 gradle 存储目录。如果我们没有配置过 GRALE_USER_HOME 环境变量,默认在 当前用户 家目录下的 .gradle 文件夹中。

那什么时候选择使用 gradle wrapper、什么时候选择使用本地 gradle?

  • 下载别人的项目或者使用操作以前自己写的不同版本的gradle项目时:用Gradle wrapper,也即:gradlew
  • 新建一个项目时: 使用gradle指令即可。

11-Gradle 安装 new
https://flepeng.github.io/021-Java-13-Gradle-11-Gradle-安装-new/
作者
Lepeng
发布于
2024年4月7日
许可协议