Gradle系列——常用指令,修改gradle源,Wrapper包装器(源于文档7.5版本,SpringBoot使用)day1-2

181 篇文章 3 订阅
8 篇文章 0 订阅

Gradle常用指令

指令说明
gradle clean清空build目录
gradle classes编译业务代码和配置文件
gradle test编译测试代码,生成测试报告
gradle build构建项目
gradle build -x test跳过测试构建

如上的指令需要在有build.gradle文件目录下执行

注意点

使用gradle test命令生成测试报告后,存放在\build\reports\tests\test
在这里插入图片描述
使用gradle build相当于clean+classes+test+build整体流程

修改Gradle源

阿里巴巴镜像源地址

1.打开gradle目录下的init.d文件夹

在这里插入图片描述

2.添加一个init.gradle文件

在这里插入图片描述

3.修改init.gradle

在这里插入图片描述

参照提供的实例我们修改一下,我在下面提供了基本上可能用到的所有配置

allprojects {
  repositories {
    maven {
      url 'https://maven.aliyun.com/repository/public/'
    }
    maven {
      url 'https://maven.aliyun.com/repository/spring/'
    }
    maven {
      url 'https://maven.aliyun.com/repository/central/'
    }
    maven {
      url 'https://maven.aliyun.com/repository/google/'
    }
    maven {
      url 'https://maven.aliyun.com/repository/gradle-plugin/'
    }
    maven {
      url 'https://maven.aliyun.com/repository/spring-plugin/'
    }
    mavenLocal()
    mavenCentral()
  }
}

阿里云官网错误

这个地方使用的是allprojectsP是小写的,不然后面构建会报错
在这里插入图片描述

了解一下init.gradle文件

init.gradle文件启用方法

  1. 在命令行指定文件,例如:gradle -inmit.soript goudir/init.gmadle -q taskName·你可以多次输入此命令来指定多个init文件
  2. 把init.guadle文件放到USER_HOME/ .gxadle/目录下
  3. 把以.gradle结尾的文件放到USER_HOME/ .gxadle/ init.d/目录下
  4. 把以.gradle结尾的文件放到 GRADLE_HOME/init.d/目录下
    如果存在上面的4种方式的e种以上﹐ gradle会按上面的1-4序号依吹执行这些文件﹐如果给定目录下存在多个init脚本﹐会按拼音a-z顺序执行这些脚本,每个init脚本都存在一个对应的gradle实例,你在这个文件中调用的所有方法和属性,都会委托给这个gradle实例,每个init脚本都实现了Script接口。

配置仓库说明

maxenLocal():指定使用maven本地仓库,而本地仓库在配置maven时settings文件指定的仓库位置·如E:/repository, gnadle查找jar包顺序如下:USER_HOME/.m2 / settings.xml >> Mg_HOME/conf/ settings.xml >> USER_HOME/.m2/repository

maven { url地址},指定maven仓库,一般用私有仓库地址或其它的第三方库【比如阿里镜像仓库地址】

mavenCentral():这是Maven的中央仓库,无需配置﹐直接声明就可以使用

jcenter():JCente;中央仓库﹐实际也是是用的maven搭建的﹐但相比Maven仓库更友好,通过CDN分发,并且支持https访问,在新版本中已经废弃了,替换为mavenCentral()

使用本地仓库地址和远程地址相结合方式避免每次下载都要调取远程仓库

Wrapper包装器

官方文档

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

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

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

Gradle Wrapper的工作流程

在这里插入图片描述

  1. 从服务器上下载分发
  2. 存储和解包分发
  3. 使用分发

详细说明:

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

添加Gradle Wrapper(若你下载的是all就不需要)

gradle wrapper

生成 Wrapper 文件需要在您的机器上安装 Gradle 运行时版本,生成初始 Wrapper 文件是一次性的过程。

每个 vanilla Gradle 构建都带有一个名为 wrapper 的内置任务。 列出任务时,您将能够在“构建设置任务”组下找到列出的任务。 执行 wrapper 任务会在项目目录中生成必要的 Wrapper 文件

使用Gradle Wrapper

使用语法格式:gradlew.bat + 指令
如:gradlew.bat clean

项目中的gradlew 、gradlew.cmd脚本用的就是wrapper中规定的gradle版本
而我们上面提到的gradle指令用的是本地gradle,所以gradle指令和gradlew指令所使用的gradlle版本有可能是不一样的·gadlew、gadlew.cmd的使用方式与gradle使用方式完全一致﹐只不过把gmadle指令换成了gradlew指令

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

参数说明
–gradle-version指定使用的Gradle版本
–gradle-distribution-url指定下载Gradle发行版的url地址
–distribution-type用于 Wrapper 的 Gradle 分发类型。 可用选项是 bin和 all. 默认值为 bin.
–gradle-distribution-sha256-sum用于 验证下载的 Gradle 分发

语法格式:gradle wrapper + 指令
如:gradle wrapper --gradle-version=7.4.5

Gradle Wrapper的目录结构

在这里插入图片描述

Gradle 项目通常提供一个 settings.gradle(.kts)文件和一个 build.gradle(.kts)每个子项目的文件。 Wrapper 文件同时存在于 gradle目录和项目的根目录。 下面的列表解释了它们的目的。

  1. gradle-wrapper.jar

包含用于下载 Gradle 分发的代码的 Wrapper JAR 文件。

  1. gradle-wrapper.properties

负责配置 Wrapper 运行时行为的属性文件,例如与此版本兼容的 Gradle 版本。 请注意,更通用的设置,例如 将 Wrapper 配置为使用代理 ,需要进入 不同的文件 。

  1. gradlew, gradlew.bat

用于使用 Wrapper 执行构建的 shell 脚本和 Windows 批处理脚本。

下载和用自己以前写的用Gradle Wrapper!

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值