【Gradle:新一代构建工具】学习笔记 1 Gradle入门 1.9 Gradle中的Wrapper包装器

GradleWrapper是一个解决项目依赖于特定Gradle版本的问题的工具。它允许在没有本地Gradle安装的情况下构建项目,只需通过gradlew脚本自动下载并使用指定版本的Gradle。使用Wrapper可以确保团队成员和依赖者使用一致的Gradle版本,避免因版本差异导致的构建问题。升级Wrapper版本只需修改gradle-wrapper.properties文件,首次运行会自动下载新版本Gradle并缓存,提高构建效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【Gradle:新一代构建工具】学习笔记

【【尚硅谷】Gradle教程入门到进阶(从gradle安装到项目实战)】

在这里插入图片描述

1 Gradle入门

1.9 Gradle中的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 的生成,比如依赖的版本等,如下:

在这里插入图片描述

具体操作如下所示 :

【当前gradle01 这个项目的gradle 版本是7.6.1 → 我们将其升级成7.6.2 】

  • gradle wrapper --gradle-version=7.6.2:升级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目录中)

    当然gradlew classes 也是可以的,试试

    在这里插入图片描述

    擦,这个版本是不是不存在,笑哭

    重新搞个存在的版本

    在这里插入图片描述

    好吧,7.6.1 是7.x 系列最新的版本了【这也间接说明,截至2023年4月8日,spring 脚手架官方创建Gradle 项目时,使用的还不是 8系列】,我直接升级成8.0.1,

    在这里插入图片描述

    没问题,接着就是编译的过程了

    看看下载下来的东西

    在这里插入图片描述

    没毛病。这说明

    在这里插入图片描述

    这两个东西是结合使用的

  3. 并构建本地缓存(GRADLE_USER_HOME目录下的caches目录中),下次再使用相同版本的gradle就不用下载了

    在这里插入图片描述

  4. 之后执行的 ./gradlew 所有命令都是使用指定的 gradle 版本。

    在这里插入图片描述

    没毛病

    执行流程如下图所示:

    在这里插入图片描述

    1. 下载
    2. 保存并解压
    3. 使用

gradle-wrapper.properties 文件解读:

在这里插入图片描述

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

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

下载别人的项目或者使用操作以前自己写的不同版本的gradle项目时:用Gradle wrapper,也即:gradlew

什么时候使用本地gradle? → 新建一个项目时: 使用gradle指令即可。

【当然我们也都可以使用gradlew】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ding Jiaxiong

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值