gradle第一篇:初入门
有的时候,感觉技术真是一年一个样,之前呢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第一篇:初入门的更多相关文章
- SpringBoot 第一篇:入门篇
作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/10819728.html 版权声明:本文为博主原创文章,转载请附上博文链接! 前言 博主从去年 ...
- 第一篇 UEditor入门部署和体验
UEditor 是由百度「FEX前端研发团队」开发的所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码. UEditor富文本编辑器,轻量, ...
- Vue学习记录第一篇——Vue入门基础
前面的话 Vue中文文档写得很好,界面清爽,内容翔实.但文档毕竟不是教程,文档一上来出现了大量的新概念,对于新手而言,并不友好.个人还是比较喜欢类似于<JS高级程序设计>的风格,从浅入深, ...
- 我的微信小程序第一篇(入门)
前言 微信小程序出来已经有一段时间了,已经有很多大牛都写过相关教程了,那么我为啥还要写这篇文章呢?其实仅仅是个人对微信开发的一个兴趣吧,觉得是个很有意思的事情,后面有时间可能会发更多关于小程序的文章, ...
- <Django>第一篇:入门的例子
1.MVT框架 Model(模型):数据库交互相关.在这部分一般需要进行三个操作: (1)面向数据库:模型对象.列表 (2)定义模型类:指定属性及类型,确定表结构(设计表),需要迁移(生成表) (3) ...
- DWR第一篇之入门示例
1. 新建maven-web项目,目录结构如下: 2. 在pom.xml里添加dwr所需的依赖 <dependency> <groupId>org.directwebremot ...
- 【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- 【OpenCV入门指南】第一篇 安装OpenCV
http://blog.csdn.net/morewindows/article/details/8225783/ win10下vs2015配置Opencv3.1.0过程详解(转) http://ww ...
- ElasticSearch入门 第一篇:Windows下安装ElasticSearch
这是ElasticSearch 2.4 版本系列的第一篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...
随机推荐
- MicroRNA in Control of Gene Expression: An Overview of Nuclear Functions 微RNA控制基因表达:核功能概述
MicroRNA in Control of Gene Expression:An Overview of Nuclear Functions微RNA控制基因表达:核功能概述 抽象:小的非编码RNA( ...
- 玩转Sketch,不容错过的5大实用插件推荐
在之前的文章中,笔者为大家介绍了Sketch 的入门教程.实用技巧和资源集锦,相信大家对Sketch已经有了初步的了解和认识.除了基础的矢量设计功能以外,插件更是让Sketch保持强大的独门秘籍.Sk ...
- vue生命周期小笔记
一张图谨记vue每个生命周期的获取状态 beforecreate :可以在这加个loading事件 created :在这结束loading,还做一些初始化,实现函数自执行 mounted : 在这发 ...
- UVa 1151 Buy or Build (最小生成树+二进制法暴力求解)
题意:给定n个点,你的任务是让它们都连通.你可以新建一些边,费用等于两点距离的平方(当然越小越好),另外还有几种“套餐”,可以购买,你购买的话,那么有些边就可以连接起来, 每个“套餐”,也是要花费的, ...
- python使用git进行版本控制2
对上一次的readme文件进行修改 现在,运行git status命令看看结果 $ git statusOn branch masterChanges not staged for commit: ...
- ZOJ3712:Hard to Play
MightyHorse is playing a music game called osu!. After playing for several months, MightyHorse disco ...
- Cenots 7 Configure static IP
For example: # cd /etc/sysconfig/ifcfg-enp3s0 # cat ifcfg-enp3s0 TYPE=EthernetBOOTPROTO=staticIPADDR ...
- TFS文件编码检查机制和修改(Team Foundation Server 2013)
TFS的版本控制系统会自动按照下面的标准检测代码文件的编码格式: 1. 首先,如果代码文件包含了BOM部分,则使用BOM中制定的编码格式打开文档 什么是BOM (Byte order mark)? h ...
- Angularjs 实现页面遮罩层功能
实现效果: 1.loading指令: "use strict" /** * Created by yw on 2015/9/27. * user defined loading d ...
- 创建jdk8基础镜像
https://blog.csdn.net/qq_35981283/article/details/80738451