1、什么是Gradle
Gradle是一种结合了Ant和Maven两者优势的下一代构建工具,既有Ant构建灵活性的优点,也保留Maven约定优于配置的思想,在灵活构建和约定构建之间达到了很好的平衡。
2、安装Gradle
(1)Gradle属于解压配置即可使用的软件
下载解压gradle-4.1-all.zip,例如解压到:D:/ gradle-4.1
(2)window中设置gradle环境变量:
(3)开始->运行->cmd,输入如下命令:gradle -v
3、Gradle构建脚本
每一gradle构建脚本都包含三个基本构建块:project、task和property。每一个构建中至少包含一个project,进而包含一个或多个task(project和task可以分别理解为Ant构建工具中的<project>和<target>标签)。project和task暴露的属性可以用来控制构建,project本身自带很多task并且和通过引入新的插件来引入新的task,task中包含各种构建方法来执行项目构建,例如:clean、build等常见的构建方法。
(1)、创建一个空白的build.gradle构建脚本
项目目录结构(假如其中demo为D:\demo):
执行如下命令:
D:\demo>gradle tasks
执行结果输出:
(2)、创建一个包含有java plugin的构建脚本
项目目录结构(假如其中demo为D:\demo):
build.gradle 构建脚本内容:
apply plugin: 'java'
执行如下命令:
D:\demo>gradle tasks
执行结果输出(部分):
总结:对比上面两 个构建脚本gradle tasks 命令输出的结果,加了apply plugin: 'java' 插件的构建脚本要多出了 Build tasks 等任务,从第二个 Build tasks 任务中能够看到,gradle 构建的常用命令 build、clean等,由此可以知道通过引入插件,就可以增加相应的构建功能。
4、Gradle案例实战
(1)、基于约定由于配置构建项目
基于约定的项目目录结构图(和maven默认目录结构一致):
Gradle采用了Maven约定优于配置的思想,只要按照一定的项目目录结构,构建插件将能都自动找到需要构建的文件进行项目构建,构建如此的简单。下面是一个标准的项目目录结构
项目目录结构(假如其中demo为D:\demo):
Hello.java 内容(只是一个简单的java类,自己可以任意写)
public class Hello{ public static void main(String[] args){ System.out.println("hello ant"); } }
build.gradle 内容(只需要引入java 插件)
apply plugin: 'java'
进入D:\demo目录在命令行执行 gradle clean build 命令后的目录结构:
生成了标准的build输出目录
(2)、灵活定制构建项目
当构建历史遗留项目,由于项目目录结构的高度自由,gradle可以通过简单的配置即可完成项目构建
下面是一个非标准的项目目录结构(Hello.java并未位于标准的目录中):
项目目录结构(假如其中demo为D:\demo):
build.gradle 内容(只需要简单的指定源文件目录和编译输出目录,即可定制构建)
apply plugin: 'java' sourceSets{ main{ java { srcDirs = ['src'] //指定了java源文件目录为src而不是默认的src/main/java } } } buildDir = 'out' //指定输出目录为out而不是默认的build
进入D:\demo目录在命令行执行 gradle clean build 命令后的目录结构:
输出目录名称变成了out,但是out中的编译生成文件目录等都按照了标准生成
通过上面两个简单的java项目(基于约定由于配置构建项目 和 灵活定制构建项目)构建能够很明了的提现gradle基于约定构建的简单快速和制定构建的灵活
5、Gradle优缺点
优点:基本结合了以往项目构建工具(Ant和Maven)的所有优点,是构建工具的首选
缺点:相对较高的理解学习成本
6、Gradle的特性
Gradle使用Groovy作为脚本语言的构建工具,而Groovy是基于JVM的动态html" target="_blank">语言,它对Java有着先天的兼容性,你甚至可以在构建脚本中编写Java程序。
Gradle不像Ant和Maven那样使用xml编写脚本,它使用的是Groovy,这意味着你在编写脚本的时候更像是在写程序,而不是编写充满尖括号又不好阅读xml文件。
Gradle像Maven一样遵循约定优于配置的原则,也就是说你的项目只要按照标准约定搭建起来,你只需要做简单的配置就可以构建你的项目了。
Gradle支持现有的Maven仓库,所以你可以很方面地利用Maven上的所有库。
Gradle支持依赖传递,也就是说当A库依赖B库的时候,你只需要引用A库就可以了,Gradle会自动帮你依赖B库。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对小牛知识库的支持。如果你想了解更多相关内容请查看下面相关链接
div.body h3{margin:5px 0px 0px 0px;} 步骤一:预检 在部署 Ceph 存储集群之前,需要对 Ceph 客户端和 Ceph 节点进行一些基本的配置,你也可以加入 Ceph 社区以寻求帮助。 预检 安装 Ceph 部署工具 高级包管理工具(APT) 红帽包管理工具(RPM) Ceph 节点安装 安装 NTP 安装 SSH 服务器 创建部署 Ceph 的用户 允许无密
本文向大家介绍mysql 8.0.19 win10快速安装教程,包括了mysql 8.0.19 win10快速安装教程的使用技巧和注意事项,需要的朋友参考一下 本文教程为大家分享了mysql 8.0.19安装教程,供大家参考,具体内容如下 1.下载.zip安装文件 2.根目录存放my.ini,文件路径用“/”分割,例如: 3.cd到bin,运行mysqld --initialize --conso
环境搭建 创建工程 目录规范 开发调试 页面开发 打包Bundle
Yii 提供了一整套用来简化实现 RESTful 风格的 Web Service 服务的 API。 特别是,Yii 支持以下关于 RESTful 风格的 API: 支持 Active Record 类的通用 API 的快速原型; 涉及的响应格式(在默认情况下支持 JSON 和 XML); 支持可选输出字段的定制对象序列化; 适当的格式的数据采集和验证错误; 集合分页,过滤和排序; 支持 HATEO
快速入门 如果CasperJS已经在你的电脑上安装好,你就可以开始编写你的第一个脚本啦!你可以使用原生JavaScript(或PhantomJS2.0之前版本支持的 CoffeeScript)来编写脚本。 提示 如果你还不习惯使用JavaScript,请阅读这个FAQ条目。 最简单的CasperJS脚本 打开你最爱的编辑器,创建一个名为sample.js的文件,写入以下代码: var casper
先介绍下 Hangfire.HttpJob 自身引用的组件 Hangfire.AspNetCore (因为Hangfire.HttpJob是作为Hangfire的插件,Hangfire.AspNetCore是Hangfire的核心组件) Hangfire.Console (Hangfire.Console是Hangfire的Dashbord的一个插件,记录job运行日志的) Hangfire.Ta