有的时候,感觉技术真是一年一个样,之前呢ant式微,被maven取代,而现在呢,maven慢慢式微,又渐渐要被gradle取代,不说多了我们现在就来讲一讲gradle吧。


第一步——安装:

①安装所需:JDK1.8以上

②去官网“https://gradle.org/”下载gradle包,解压后设置环境变量。

Mac或linux的话:添加命令到初始化脚本~./profile中,命令假设gradle被安装在/opt/gradle目录下。export GRADLE_HOME=/opt/gradle;export PATH=$PATH:$GRADLE_HOME/bin。

Windows的话:添加gradl文件夹下的bin目录到环境变量中即可。

③在终端或cmd中执行语句:gradle -v , 确认gradle安装成功。

第二步——hello world

①创建一个名为“build.gradle"的文件,并写上如图代码:

task helloWorld {
doLast{
print 'hello World!'
}
}

②运行代码:gradle -q helloWorld,这里的helloWorld即对应上面定义的task,参数-q是为了告诉gradle只输出该task相关的信息。运行后我们会发现窗口输出了”hello World!"。

第三步——小试牛刀

我们写下如下代码:

task startSession {
chant()
} def chant(){
ant.echo(message: 'Repeat after me...')
} 3.times{
task "yayGradle$it" {
println 'Gradle rocks'
}
} yayGradle0.dependsOn startSession
yayGradle2.dependsOn yayGradle1, yayGradle0
task groupTherapy(dependsOn: yayGradle2)
//gradle test

①我们会发现多了关键词dependsOn,它意指依赖,gradle会确保被依赖的task总会在定义该依赖的task之前执行。

②关于chant()函数里的ant.echo()函数,这是关于gradle和ant的集成,我们后续再讲,这里只是做简单的打印处理。

③这里的3.times{}讲的是关于动态任务的定义,我们也后续再讲。

我们运行代码:gradle groupTherapy,输出如图

第四步——使用命令行

①列出所有task:gradle -q tasks --all

②执行多个任务:gradle -q task1 task2 ......

③任务缩写执行:要执行task testTest的话,可以输入指令gradle -q tT, 但需要以防缩写的task名重复。

④其他重要命令行选项,如-h ——指打印帮助信息;-b——指定特定名字的构建脚本;--offline——指构建声明的依赖必须在离线仓库中存在。

⑤若想使gradle重复运行构建,可以了解gradle守护进程方面的内容,参数是--daemon。

gradle第一篇:初入门的更多相关文章

  1. SpringBoot 第一篇:入门篇

    作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/10819728.html 版权声明:本文为博主原创文章,转载请附上博文链接! 前言   博主从去年 ...

  2. 第一篇 UEditor入门部署和体验

    UEditor 是由百度「FEX前端研发团队」开发的所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码. UEditor富文本编辑器,轻量, ...

  3. Vue学习记录第一篇——Vue入门基础

    前面的话 Vue中文文档写得很好,界面清爽,内容翔实.但文档毕竟不是教程,文档一上来出现了大量的新概念,对于新手而言,并不友好.个人还是比较喜欢类似于<JS高级程序设计>的风格,从浅入深, ...

  4. 我的微信小程序第一篇(入门)

    前言 微信小程序出来已经有一段时间了,已经有很多大牛都写过相关教程了,那么我为啥还要写这篇文章呢?其实仅仅是个人对微信开发的一个兴趣吧,觉得是个很有意思的事情,后面有时间可能会发更多关于小程序的文章, ...

  5. <Django>第一篇:入门的例子

    1.MVT框架 Model(模型):数据库交互相关.在这部分一般需要进行三个操作: (1)面向数据库:模型对象.列表 (2)定义模型类:指定属性及类型,确定表结构(设计表),需要迁移(生成表) (3) ...

  6. DWR第一篇之入门示例

    1. 新建maven-web项目,目录结构如下: 2. 在pom.xml里添加dwr所需的依赖 <dependency> <groupId>org.directwebremot ...

  7. 【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6)

    目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...

  8. 【OpenCV入门指南】第一篇 安装OpenCV

    http://blog.csdn.net/morewindows/article/details/8225783/ win10下vs2015配置Opencv3.1.0过程详解(转) http://ww ...

  9. ElasticSearch入门 第一篇:Windows下安装ElasticSearch

    这是ElasticSearch 2.4 版本系列的第一篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...

随机推荐

  1. vbs执行系统命令

    首先说明一下,我的所有代码都是vbscript,jscript我没有研究过,不过我想也差不多. 关于最基础的语法比如变量的申明,分支,循环,函数的调用,等等这些我就不讲了,不懂得自己看一下. 1.我们 ...

  2. c++ stringstream的使用

    stringstream ss;//一次创建多次使用,需要进行clear()操作清除流状态标记 int i=0; while (i<3) { ss<<"21"; ...

  3. 训练超参数, 出现 Cannot use GPU in CPU-only Caffe 错误?

    当我们用MNIST手写体数字数据库和LeNet CNN 模型训练超参数,运行 examples/mnist/train_lenet.sh是出现Cannot use GPU in CPU-only Ca ...

  4. [Training Video - 3] [Java Introduction] [Object Oriented Programming]

    Static and non-Static :  非静态方法(不带static)可以访问静态变量和方法(带static),但是反过来就不行. 类的静态成员(变量和方法)属于类本身,在类加载的时候就会分 ...

  5. 书籍索引 #C++

    卷 计算机 的文件夹 PATH 列表卷序列号为 00000200 0001:8890F:.│ 21天学通C++.pdf│ C++ Primer Plus 第6版 中文版.pdf│ C++ Templa ...

  6. Some_tools

    Why and what There are lots of nice or great tools on the internet, sometimes I will just forget a p ...

  7. [label][JavaScript扩展] JavaSCript扩展

    http://www.idangero.us/sliders/swiper/ ,swipper for mobile terminal.

  8. 12.1.2: How to Modify and Enable The Configurable Home Page Delivered Via 12.1.2 (Doc ID 1061482.1)

    In this Document   Goal Solution References       APPLIES TO:    Oracle Applications Framework - Ver ...

  9. Android-自定义开关

    效果图: 需要两张图片,一张图片为背景,一张图片为滑动的点 布局去指定一个自定义View对象: view.custom.shangguigucustomview.MyCustomSwitch < ...

  10. CDI(Weld)高级<4> Event(事件) (转)

    目录[-] 1. Event payload(事件的有效载入) 2. Event observers(event的观察者) 3. Event producers(event生产者) 4.Annotat ...