gradle 指定springcloud 版本_Gradle学习笔记(一)

1d704d9943b5f1e9dab6407a2d217adb.png
本文参照"硬核空间"教学内容,转载请注明出处。

Gradle与Maven的区别

对于Maven而言,它的生命周期是连续的,我们可以在它的任意阶段绑定插件执行相应的动作,它的声明依赖操作都是基于pom文件进行的。
对于Gradle,相比于Maven而言,它增加了更多的灵活性,它的语法是基于Groovy和Ktlin的领域专属语言 (Domain Specific Language) ,他的基本执行单位是Task,在执行操作的时候,可以指定Task运行,而不是像Maven,指定某个阶段,之前的阶段必须全部运行。

Gradle基本概念

1.Gradle的Distribution
和Maven以及任何的构建工具一样,Gradle的Distribution也是基于两个点,脚本和lib。
2.Gradle的wrapper
当我们在本地编译好自己的代码,运行测试都通过的时候,在发布到服务端的时候,经常会因为构建工具的版本不相同而报错,在Gradle中提供了一种方式即wrapper,即gradlew。它的作用是,当运行gradlew,在执行构建之前,会检查运行的环境有没有规定的执行版本,没有的话则下载对应的版本。
3.Daemon
Gradle的Daemon是一个使用内存换取效率的典型,官方推荐是无条件打开的,Daemon可以认为它在内存中启动了一个JVM,当我们运行Gradle启动命令的时候,其实Gradle进程只是通知Daemon去运行指定的执行任务,并且Daemon会缓存所运行的结果,若是这样执行重复的任务,效率会很高。

Gradle的核心概念

1.Project
一个bulid.gradle对应一个Project对象,可以类比Maven中一个pom文件对应一个子模块。
2.build.gradle
构建脚本,我理解中就是类似于Java中的一个.java文件,用来执行Gradle的任务。
3.Task
构建脚本中最小的执行单元,任务之间可以做类似于Java方法的多种操作。任务之间可以依赖,可以动态创建。

Gradle的生命周期

1.初始化
指的是加载setting.gradle中的指令
2.配置项目
从上到下去build.gradle中配置相应的任务,会先把任务进行初始化,但是并不会执行doLast块中的语句。
3.执行选中的任务
通过命令行指定要执行的任务。

使用Task

1.简单的Task

Task的语法是依赖Groovy来写的,在其中会使用大量的闭包等类似于魔法般的操作,充斥着相当多的语法糖,所以Gradle相对于Maven而言,学习门槛也比较高。
举例说明,在build.gradle中写一个Task

task aaa{
    doLast{
        println "hello aaa"
    }
}

然后执行gradlew aaa,控制台就会打印出“hello aaa”。Task是Gradle中最小的工作单元。

2.Task中的依赖

task bbb{
    dependsOn(aaa)
    doLast{
        println "hello bbb"
    }
}

如果我们执行bbb的话,会发现aaa也会被执行。注意Gradle会按照build.gradle中的顺序初始化任务,被依赖的任务不能放在后面。
所以Gradle也提供了afterEvaluate钩子方法

project.afterEvaluate{
    print "afterEvaluate running .."
}

这样就会出现如下的运行结果

079e3ae13c3223bb29801b7ceb476429.png
Task运行结果

当然,Gradle也可以完成很多灵活的创建功能,比如:

many.toInteger().times{
    index-> task "task$index"{
          doLast{  println index }
        }
}

> Task :task100
100

然后运行gradlew task100 -Pmany=101 ,通过给many传参,可以灵活的运行任务。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值