Gradle入门:简介

Gradle是一种构建工具,可以使用基于Groovy编程语言的内部DSL替换基于XML的构建脚本。

最近它吸引了很多关注,这就是为什么我决定仔细研究一下。

这篇博客文章是我的Gradle教程的第一部分,它有两个目标:

  1. 帮助我们安装Gradle
  2. 描述它的一些基本概念,这有助于我们理解本教程的未来部分。

让我们从了解如何安装Gradle开始。

安装Gradle

如果使用Windows或Linux,则可以按照以下步骤安装Gradle:

  1. 从下载页面下载二进制文件 。
  2. 解压缩该zip文件,然后将GRADLE_HOME / bin目录添加到PATH环境变量中。

如果在安装过程中遇到问题, 请查阅官方安装指南 。

如果使用的是OS X,则可以使用Homebrew安装Gradle。 我们可以通过在命令提示符处运行以下命令来做到这一点:

brew install gradle

我们可以通过在命令提示符下运行gradle -v命令来验证Gradle是否正常工作。 如果Gradle正常运行,我们应该看到以下输出(Windows和Linux用户自然会看到一些不同的输出):

> gradle -v------------------------------------------------------------Gradle 1.12------------------------------------------------------------Build time:   2014-04-29 09:24:31 UTCBuild number: noneRevision:     a831fa866d46cbee94e61a09af15f9dd95987421Groovy:       1.8.6Ant:          Apache Ant(TM) version 1.9.3 compiled on December 23 2013Ivy:          2.2.0JVM:          1.8.0 (Oracle Corporation 25.0-b70)OS:           Mac OS X 10.9.3 x86_64

让我们快速看一下Gradle构建的基本概念。

Gradle构建简介

Gradle有两个基本概念:项目和任务。 这些概念的解释如下:

  • 项目要么是我们构建的(例如jar文件),要么是项目(将我们的应用程序部署到生产环境)。 一个项目包含一个或多个任务
  • 任务是执行我们的构建(例如,编译项目或运行测试)的原子单元工作。

那么,这些概念与Gradle构建有何关系? 好吧, 每个Gradle构建都包含一个或多个项目

这些概念之间的关系如下图所示:

gradlebuild

我们可以使用以下配置文件来配置Gradle构建:

  • Gradle构建脚本( build.gradle )指定一个项目及其任务。
  • Gradle属性文件( gradle.properties )用于配置构建的属性。
  • 在只有一个项目的构建中, Gradle设置文件( gradle.settings )是可选的。 如果我们的Gradle构建有多个项目,则必须执行此操作,因为它描述了哪些项目参与了我们的构建。 每个多项目构建都必须在项目层次结构的根项目中具有一个设置文件。

您可以通过阅读Gradle用户指南的第6章,获取有关Gradle构建脚本的更多信息。

让我们继续前进,了解如何使用Gradle插件向Gradle构建添加功能。

更简短的Gradle插件介绍

Gradle的设计理念是所有有用的功能都由Gradle插件提供。 Gradle插件可以:

  • 将新任务添加到项目。
  • 为添加的任务提供默认配置。 默认配置将新约定添加到项目中(例如,源代码文件的位置)。
  • 添加用于覆盖插件默认配置的新属性。
  • 向项目添加新的依赖项。

Gradle用户手册提供了标准Gradle插件列表 。

我们可以通过使用Gradle插件的名称或类型来应用Gradle插件(将插件添加到项目时使用此术语)。

通过将以下行添加到build.gradle文件中,我们可以按名称应用插件(插件的名称为foo ):

apply plugin: 'foo'

另一方面,如果要按类型应用插件(插件的类型为com.bar.foo ),则必须将以下行添加到build.gradle文件中:

apply plugin: 'com.bar.foo'

您可以通过阅读Gradle用户指南的21.1应用插件来获得有关应用插件的更多信息。

今天就这些。 让我们总结一下我们从此博客文章中学到的知识。

摘要

这篇博客文章教会了我们三件事:

  • 我们了解了如何安装Gradle。
  • 我们了解了Gradle构建的基本构建基块。
  • 我们知道如何使用Gradle插件向我们的构建添加功能。

本教程的下一部分描述了如何使用Gradle创建一个简单的Java项目。

翻译自: https://www.javacodegeeks.com/2014/06/getting-started-with-gradle-introduction.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/363141.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

首页回顾功能

公司要弄一个首页回顾的功能,可以查看以往某个时间的首页。程序每天自动在上午和下午分别抓取一个页面,生成地址为http://xxx.com/review/channel20090715am.html 的形式。 这个功能用到了jQuery UI 的 datepicker日历插件,但是主要的还是通过…

浏览器内核总结

一般来讲,浏览器分为外壳部分和渲染部分。外壳部分就是用户看得见摸得到的外观和操作界面;而渲染部分则包括了浏览器内核和JS引擎,其中JS引擎主要负责执行javascript语言实现网页上的动作,而内核则负责渲染网页,把数据变成用户可以…

mysql卸载重装总是卡在starting server这一选项

因为自己不小心把msyql给下载了,重装了一个5.7版本的可是在安装时卡在starting server这一部分,运行不下去。重写卸载重装仍然不成功,还是卡在starting server.无法继续下面的安装,查看日志也没有报错信息。 问题分析:…

箭头函数与普通函数的区别

箭头函数: let fun () > {console.log(lalalala); } 普通函数: function fun() {console.log(lalla); } 箭头函数相当于匿名函数,并且简化了函数定义。箭头函数有两种格式,一种只包含一个表达式,连{ ... }和return…

前端基础-HTML标记语言

阅读目录 一、 HTML标签与文档结构二、 HTML标签详细语法与注意点三、 HTML中标签分类四、 HTML注释 一、 HTML标签与文档结构 HTML作为一门标记语言,是通过各种各样的标签来标记网页内容的。我们学习HTML主要就是学习的HTML标签。 那什么是标签呢? #…

带有Gradle的Docker容器分为4个步骤

您是否需要通过Java Web应用程序创建Docker映像? 您在使用Gradle吗? 如果是这样,那么您距Docker nivana仅4步之遥。 对于此示例,我将使用一个简单的Spring Boot应用程序。 您可以在我的名为galoshe的Github存储库中找到所有源代码…

第七周

这个作业属于哪个课程C语言程序设计 (第三版)这个作业要求在哪里2019春季第七周作业我的课程目标学习指针的运用这个作业在哪个具体方面帮助我实现目标这个作业让我知道了指针实用性参考文献无一、2019春第七周作业(基础题) 7-2 自…

Java EE 8 –为更多设备提供更多应用程序

如果我不喜欢夏天的一件事,那就是事实是没有太多要分享或谈论的新闻。 谁决定将Java Day Tokyo置于这一年的无聊时间里,谁干得不错,就给我一个机会撰写有关新的和即将到来的Java EE 8规范的博客文章,其中包含了更多的思想和建议。…

Gradle入门:依赖管理

即使不是没有可能,创建没有任何外部依赖关系的现实应用程序也是一项挑战。 这就是为什么依赖性管理是每个软件项目中至关重要的部分的原因。 这篇博客文章描述了我们如何使用Gradle管理项目的依赖关系。 我们将学习配置已使用的存储库和所需的依赖项。 我们还将通过…

HTML5常用标签及特殊字符表

*http://html5doctor.com/nav*http://html5doctor.com/article*http://html5doctor.com/section*http://html5doctor.com/asidehttp://html5doctor.com/divhttp://html5doctor.com/figurehttp://html5doctor.com/outlinehttp://html5doctor.com/semantics p 和 span 的理解 p标…

【转载】使用Imaging组件加载GIF动画

Mobil手机加载GIF动态图像的方法有两种,一个就是使用GIF89a标准算法,另一个就是使用SDK自带的Imaging组件,这两种方法是很典型的手机图像处理技术的实践。使用Imaging组件加载GIF比使用标准算法处理高效的多,特别是在处理真彩GIF动…

【处理手记】Configuration system failed to initialize异常的另类原因

有个c#程序在某台电脑上,执行某个操作时,总是会报如图错误: 度娘一番,发现市面上常见的原因是配置文件中的特定节点的位置不对,或者配置文件损坏等等,而这个程序根本没有使用内置的配置文件方案&#xff0c…

学习《Building Applications with FME Objects》 之四 从数据集读取要素

FMEOReader可以访问任何支持格式的数据。 FMEOReader返回两类要素:schema(模式)要素和数据要素,模式要素用于描述数据集模型。每种支持的格式都有一个模式,一个模式要素是一类要素的数据模型,模式要素描述属…

使用Zapier将应用程序与Neo4j集成

最近,我被带往Zapier ,以便在系统之间完成一些轻量级的集成,以快速地进行概念验证。 最初是持怀疑态度的,我发现它确实可以节省时间,并将您从未集成过的系统所有部分捆绑在一起。 而且,这是人们集成他们使…

[silverlight基础]仿文字连接跑马灯效果-高手绕道

运行效果如下:分析示意图&#xff1a;代码:1<Canvas x:Name"a"Background"AliceBlue"MouseEnter"a_MouseEnter"MouseLeave"a_MouseLeave"Cursor"Hand">2<Canvas.Clip>3<RectangleGeometry RadiusX"0&qu…

Hibernate脏检查的剖析

介绍 持久性上下文使实体状态转换进入队列&#xff0c;该实体状态转换在刷新后转换为数据库语句。 对于托管实体&#xff0c;Hibernate可以代表我们自动检测传入的更改并安排SQL UPDATE。 这种机制称为自动脏检查 。 默认的脏检查策略 默认情况下&#xff0c;Hibernate检查所有…

软件工程第二次作业-VSTS单元测试

一、选择开发工具 开发工具选择 Visual studio 2017 社区版&#xff0c;开发语言为C 由于之前已经安装完毕&#xff0c;所以不上传安装过程&#xff0c;主界面如下&#xff1a; 二、练习自动单元测试 使用的测试工具是VSTS&#xff0c;具体步骤如下&#xff1a; 1.编写一个判断…

随便写写(8)

凌晨两点了&#xff0c;还在捣鼓虚拟机&#xff0c;教师节老师们吃不上饭&#xff0c;罪过可就大了。远程有点慢&#xff0c;还遇到个小问题&#xff0c;.netfx 3.5几次都没装上&#xff0c;看了下日志&#xff0c;好像是ghost里的.netfx 2.0有问题&#xff0c;想卸载之&#x…

识别JVM –比预期的要复杂

在Plumbr&#xff0c;我们花了最后一个月的时间来为将来的重大改进奠定基础。 此类构件之一是为JVM添加唯一标识符&#xff0c;以便将来自同一JVM的所有会话链接在一起。 虽然一开始看起来似乎很琐碎的任务&#xff0c;但是当查看JVM捆绑的jps命令的输出时&#xff0c;围绕该问…

React后台管理系统-品类的增加、修改和查看

1.页面 2.品类列表展示 let listBody this.state.list.map((category, index) > { return ( <tr key{index}> <td>{category.id}</td> <td>{category.name}</td> <td> <a className"opear" onClick{(e) > this.onUpda…