一、Gradle 简介

1.1 什么是 Gradle?

  Gradle 是一个基于 Apache Ant 和 Apache Maven 概念的 项目自动化构建开源工具。它使用一种基于Groovy的DSL(Domain-Specific Language 领域特定语言)来声明项目设置,抛弃了基于 XML 的各种繁琐配置。面向 Java 应用为主。当前其支持的语言限于Java、Groovy、Kotlin 和 Scala,计划未来将支持更多的语言。

  Gradle 是一个基于 JVM 的构建工具,是一款通用灵活的构建工具,支持 Maven、 Ivy 仓库、支持传递性依赖管理,而不需要远程仓库或者是pom.xml和ivy.xml配置文件,基于 Groovy(Groovy 是一种基于 JVM 的动态语言),build 脚本使用 Groovy 编写。

1.2 Gradle 的功能

  • 基于声明的构建和基于约定的构建
  • 为以依赖为基础的编程方式提供语言支持
  • 构建结构化
  • 深度 API
  • Gradle 良好的扩展
  • 多项目构建
  • 多种方式管理依赖
  • 易于移植
  • Gradle 的构建脚本是采用 Groovy 编写,而不是 XML
  • Gradle Wrapper 允许你在没有安装 Gradle 的机器上执行 Gradle 构建
  • Gradle 是一个开源项目,并遵循 ASL 许可

1.3 Groovy 与 Java 比较

  Groovy 是用于 JVM 的一种敏捷的动态语言,它是一种成熟的面向对象编程语言,既可以用于面向对象编程,又可以用作纯粹的脚本语言。使用该语言不必编写过多的代码,同时又具有 闭包 和动态语言的其它特性。

  • Groovy 完全兼容 Java 语法(因为他们都是基于 JVM 的)
  • 分号是可选的
  • 类、方法默认是public的
  • 编译器给属性自动添加getter/setter方法
  • 属性可以直接使用点号(.)获取
  • 最后一个表达式的值会被作为返回值(即如果该方法需要返回值,那么return可以不写)
  • ==等同于equals(),不会有NullPointerExceptions

1.4 Groovy 的一些高效特性

  • 自带assert(断言)语句(可以在任何地方进行断言操作)
  • 可选类型定义(相当于一个弱类型编程语言)
  • 可选的括号(如调用的参数括号可以不写)
  • 字符串(有三种表达形式:单引号、双引号和三个单引号)
  • 集合 API(Groovy 中 List、Map 有更简单的写法)
  • 闭包

二、Gradle 安装配置(Windows)

2.1 前提条件

  • JDK:JDK 8(需要安装 JDK & JRE 8 或更高版本,本次使用的是java version "1.8.0_65")

2.2 手动安装

  目前的 Gradle 版本是版本 5.4.1,于 2019 年 4 月 26 日发布。分发 zip 文件有两种版本:

  如有疑问,请选择仅二进制版本并在线浏览 文档 和 来源。需要使用旧版本吗?请参阅 版本页面。

2.3 环境配置

  1. 在磁盘D下新建目录D:\Gradle,并将下载的gradle-5.4.1-bin.zip解压至该文件夹中;
  2. 编辑环境变量中的Path变量,添加条目D:\Gradle\gradle-5.4.1\bin,单击“确定”保存。

2.4 验证 Gradle 是否安装成功

  • Windows + R -> 输入cmd进入命令行模式;
  • 运行gradle -v查看 Gradle 版本信息。
C:\Users\Administrator>gradle -v

Welcome to Gradle 5.4.1!

Here are the highlights of this release:
- Run builds with JDK12
- New API for Incremental Tasks
- Updates to native projects, including Swift 5 support For more details see https://docs.gradle.org/5.4.1/release-notes.html ------------------------------------------------------------
Gradle 5.4.1
------------------------------------------------------------ Build time: 2019-04-26 08:14:42 UTC
Revision: 261d171646b36a6a28d5a19a69676cd098a4c19d Kotlin: 1.3.21
Groovy: 2.5.4
Ant: Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM: 1.8.0_65 (Oracle Corporation 25.65-b01)
OS: Windows 10 10.0 amd64

三、文档参考

3.1 Gradle 官方文档

3.2 在 Eclipse IDE 中使用 Gradle 构建系统

3.3 在 IntelliJ IDEA 中使用 Gradle

3.4 Gradle vs Maven

3.5 从 Apache Maven 迁移至 Gradle

Gradle 安装(Windows)的更多相关文章

  1. Gradle安装

    最近在学Android,而Android是由Gradle来构建的:Gradle是一个基于 JVM 的构建工具.所以开始学习Android之前,先进行Gradle安装与学习: mac: 使用SDKMAN ...

  2. SpringBoot25 gradle安装、利用gradle创建SrpingBoot项目

    1 gradle安装 技巧01:gradle依赖JDK或者JRE,而且版本至少时1.7 1.1 下载安装包 到gradle官网下载安装包[PS: 也可以利用命令的方式安装,本案例是利用安装包的方式] ...

  3. [Android] Gradle 安装

    Gradle安装非常简单,只要从官网下载压缩包,解压,修改一下环境变量即可. 笔者写本篇随笔时,版本是1.12. Windows下安装 1 到官网(http://www.gradle.org/down ...

  4. Gradle安装与配置

    一.Gradle安装 1.Gradle安装 (1)先安装JDK/JRE (2)Gradle下载官网 Gradle官网 (3)解压安装包到想安装到的目录.如D:\java\gradle-5.2.1 (4 ...

  5. Gradle 安装记录

    Gradle 安装记录 官网 https://gradle.org/ 参考文档 https://gradle.org/install/ 下载地址 <二进制文件> <源码+文档> ...

  6. [原创]Macbook Pro Retina 15吋安装Windows 7和Windows 8.1方法

    前言 本以为有Bootcamp神器在手,Macbook装Win系统应该是不在话下,没想到着实折腾了一番.期间因为误操作导致OSX也挂掉进不去只得磁盘全部抹掉网络恢复安装.为了让大家少走弯路,提供个人安 ...

  7. 如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试)

    相信很多开发者目前的系统还是Win7或Mac,一般不会为了开发某个程序而重装系统,所以我们就需要用到VMware这类的虚拟机来模拟预期的开发环境.在开始介绍前,给大家说明下我当前的软硬件环境,本文所讲 ...

  8. Windows无法完成安装,若要在此计算机上安装Windows,请中心启动安装。

    现在安装系统已经很简单了,我觉得U盘启动的话两步就差不多了, 壹:设置BIOS,将U盘启动作为系统默认启动选项 贰:直接进去大白菜之类的,一键安装... 今天终于看到第三部了, 报错:Windows无 ...

  9. 安装windows服务批处理代码

    批处理是DOS时代比较常用的方法之一,目前来说也是一种高效的方法,复制代码到文本文件中,保存并修改文件扩展名为“*.bat”. 安装windows服务批处理代码如下: @echo off set fi ...

随机推荐

  1. Python的几种版本的不同实现

    Python自身作为一门编程语言,它有多种实现.这里的实现指的是符合Python语言规范的Python解释程序以及标准库等.这些实现虽然实现的是同一种语言,但是彼此之间,特别是与CPython之间还是 ...

  2. 洛谷【P1080】国王游戏

    我对贪心的理解:https://www.cnblogs.com/AKMer/p/9776293.html 题目传送门:https://www.luogu.org/problemnew/show/P10 ...

  3. Python:更改字典的key

    思路:先删除原键值对,保存值,然后以新键插入字典 格式:dict[newkey] = dict.pop(key) d = {'a':1, 'aa':11} d['b'] = d.pop('a') d[ ...

  4. Spring 学习十五 AOP

    http://www.hongyanliren.com/2014m12/22797.html 1: 通知(advice): 就是你想要的功能,也就是安全.事物.日子等.先定义好,在想用的地方用一下.包 ...

  5. telnet IP:ERROR

    实验环境:CentOS6.8 主机:172.16.xxx.xxx:80 客户端:172.16.xxx.xxx [root@www ~18:32:27]#telnet 172.16.xxx.xxx 80 ...

  6. 用户收到"无法显示页面"的错误消息和"Connections_refused"条目记录在运行 Windows Server 2003,Exchange 2003 和 IIS 6.0 的服务器上的 Httperr.log 文件

    症状 您会遇到下列症状在运行 Microsoft Windows Server 2003. Microsoft Exchange Server 2003年和 Microsoft Internet In ...

  7. ASP.NET MVC 3:缓存功能的设计问题

    今天这一篇文章我来谈一谈在MVC 3项目中的缓存功能,以及针对缓存的一些设计上的考量,给大家参考参考. 为什么需要讨论缓存?缓存是一个中大型系统所必须考虑的问题.为了避免每次请求都去访问后台的资源(例 ...

  8. HTTP返回码中301与302的区别

    一.官方说法 301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同之处在于: 301 redirect: 301 代表永久性转移(Permanently Moved). 302 ...

  9. mysql数据库int(5)以及varchar(20)长度表示的是什么?

    在mysql5.x版本的数据库中: int类型数据的字节大小是固定的4个字节: 但是int(5)和int(11)区别在于,显示的数据位数一个是5位一个是11位,在开启zerofill(填充零)情况下, ...

  10. NIPT需要多大的数据量(reads number)?

    NIPT需要多大的数据量(reads number)? 调研 2014 Noninvasive prenatal diagnosis of common aneuploidies by semicon ...