Gradle入门:简介
Gradle是一种构建工具,可以使用基于Groovy编程语言的内部DSL替换基于XML的构建脚本。
最近它吸引了很多关注,这就是为什么我决定仔细研究一下。
这篇博客文章是我的Gradle教程的第一部分,它有两个目标:
- 帮助我们安装Gradle
- 描述它的一些基本概念,这有助于我们理解本教程的未来部分。
让我们从了解如何安装Gradle开始。
安装Gradle
如果使用Windows或Linux,则可以按照以下步骤安装Gradle:
- 从下载页面下载二进制文件 。
- 解压缩该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构建都包含一个或多个项目 。
这些概念之间的关系如下图所示:
我们可以使用以下配置文件来配置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
Gradle入门:简介相关推荐
- gradle入门_Gradle入门:简介
gradle入门 Gradle是一种构建工具,可以用基于Groovy编程语言的内部DSL替换基于XML的构建脚本. 最近它吸引了很多关注,这就是为什么我决定仔细研究一下. 这篇博客文章是我的Gradl ...
- Gradle入门:创建Web应用程序项目
这篇博客文章描述了如何使用Gradle创建一个Web应用程序项目. 更具体地说,我们想创建一个使用Java的Web应用程序项目,将我们的Web应用程序打包到WAR文件中,并在开发环境中运行我们的Web ...
- Gradle入门:创建多项目构建
尽管我们只能使用一个模块来创建一个工作的应用程序,但是有时将我们的应用程序划分为多个较小的模块是比较明智的. 因为这是一个相当普遍的用例,所以每个自重的构建工具都必须支持它,Gradle也不例外. ...
- Gradle入门:创建二进制分发
创建有用的应用程序之后,很可能我们想与其他人共享它. 一种方法是创建一个可以从我们的网站下载的二进制发行版. 这篇博客文章描述了如何满足以下要求的二进制发行版: 我们的二进制分发绝对不能使用所谓的&q ...
- Gradle入门:依赖管理
即使不是没有可能,创建没有任何外部依赖关系的现实应用程序也是一项挑战. 这就是为什么依赖性管理是每个软件项目中至关重要的部分的原因. 这篇博客文章描述了我们如何使用Gradle管理项目的依赖关系. 我 ...
- Markdown入门简介
参考 http://sspai.com/25137 作者: Te_Lee 文章来源: 少数派 Markdown入门简介(使用工具Haroopad) 一.使用的工具----haroopad(http:/ ...
- gradle入门,安卓gradle入门
http://www.bkjia.com/Androidjc/981624.html 随着Android Studio越来越完善,更多的开发者舍弃掉Eclipse.但是新的IDE与以往的Eclipse ...
- 分布式文件系统—HDFS—入门简介
原文作者:Zh_Y_G 原文地址:HDFS入门简介 目录 HDFS是什么? 设计目标: 安装配置 HDFS读写流程图解 CheckPoint HDFS是什么? 易于扩展的分布式文件系统 运行在大量普通 ...
- gradle入门_Gradle入门:集成测试
gradle入门 因为Java项目的标准项目布局仅定义了一个测试目录( src / test ),所以我们没有将集成测试添加到Gradle构建中的标准方法. 如果要使用标准项目布局,则可以使用以下选项 ...
最新文章
- java中抽象类的匿名子类和匿名对象
- js 延迟几秒执行_深入研究 Node.js 的回调队列
- 持久化的基于L2正则化和平均滑动模型的MNIST手写数字识别模型
- 【每日一题】7月9日题目 Color
- 响应式网站设计_通过这个免费的四小时课程,掌握响应式网站设计
- 第二代飞信机器人“小达”问世了
- Golang入门(1):安装与配置环境变量的意义
- 在你的代码中使用Boost智能指针
- 【文本处理】格式crs_stat输出
- 基本类型,指针,双指针作为函数参数
- 自动化学报latex模板相关问题解决方案
- python控制电脑定时开机关机软件_用python写一个windows下的定时关机脚本(推荐)
- java简易计算器程序框图_简易计算器程序设计思路及流程图
- android之textview属性介绍
- android Alarm闹钟发送广播播放音乐,android适配问题
- qq象棋辅助 android,天天象棋攻略助手安卓版
- 简述计算机领域最高国际奖是什么奖,清华大学团队蝉联高性能计算应用领域国际最高奖...
- 视频直播声音不清晰的解决办法(小蜜蜂无线麦克风使用方式)
- 网站变成灰色(置灰)
- 施密特正交化(Schmidt)
热门文章
- 第1步 新建spring+springmvc+mybatis项目 每步都有 讲解 巨详细
- 鸿蒙os更新要求,华为鸿蒙OS即将迎来升级 手机版本或仍需时间
- 计算机二级c语言考试模拟试题,计算机二级C语言考前模拟试题及答案2016
- pdfbox java.lang.outofmemoryerror_Apache PDFBox 1.8.11 发布,Java 的 PDF 处理类
- Object.hashCode()与Object.equals()
- JSON | JSON字符串和JSON对象的区别
- camel apache_如何使用Apache Camel,Quarkus和GraalVM快速运行100个骆驼
- spring jpa 流式_从响应式Spring Data存储库流式传输实时更新
- stream分组计数_Java Stream:第2部分,计数始终是计数吗?
- starter_您是否尝试过MicroProfile Starter?