一 构建工具的作用
1 依赖管理
2 测试、打包、发布
3 机器能干的活,绝不自己动手
二 主流构建工具
![](https://img-blog.csdnimg.cn/20191116194853584.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NoZW5ncWl1bWluZw==,size_16,color_FFFFFF,t_70)
三 Gradle是什么
一个开源的项目自动化构建工具,建立在Apache Ant和Apache Maven概念的基础上,并引入了基于Groovy的特定领域语言(DSL),而不再使用XML形式去管理构建脚本。
四 安装
1 确保已经安装JDK
C:\Users\cakin>java -version
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)
2 从官网下载Gradle
官网地址:https://gradle.org
3 安装
3.1 解压
![](https://img-blog.csdnimg.cn/2019111619500144.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NoZW5ncWl1bWluZw==,size_16,color_FFFFFF,t_70)
3.2
配置环境变量
![](https://img-blog.csdnimg.cn/20191116195013691.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NoZW5ncWl1bWluZw==,size_16,color_FFFFFF,t_70)
3 验证安装是否成功
C:\Users\cakin>gradle -version
------------------------------------------------------------
Gradle 4.0
------------------------------------------------------------
Build time: 2017-06-14 15:11:08 UTC
Revision: 316546a5fcb4e2dfe1d6aa0b73a4e09e8cecb5a5
Groovy: 2.4.11
Ant: Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM: 1.8.0_162 (Oracle Corporation 25.162-b12)
OS: Windows 10 10.0 amd64
五 Groovy是什么
Groovy是用于Java虚拟机的一种敏捷的动态语言,它是一种成熟的面向对象编程语言,既可以用于面向对象编程,又可以用作纯粹的脚本语言。使用该语言不必编写过多代码,同时又具有闭包和动态语言的其他特性。
六 Groovy与Java比较
1 Groovy完全兼容Java的语法
2 分号是可选的
3 类、方法默认是public的
4 编译器给属性自动添加getter/setter方法
5 属性可以直接用点号获取
6 最后一个表达式的值会被作为返回值
7 ==等同于equals(),不会有NullPointerExceptions
七 高效的Groovy特性
1 assert语句
2 可选类型定义
3 可选的括号
4 字符串
5 集合API
6 闭包
八 Gradle项目建立步骤
![](https://img-blog.csdnimg.cn/2019111619520813.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NoZW5ncWl1bWluZw==,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/20191116195221717.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NoZW5ncWl1bWluZw==,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/20191116195230224.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NoZW5ncWl1bWluZw==,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/20191116195244509.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NoZW5ncWl1bWluZw==,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/20191116195255198.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NoZW5ncWl1bWluZw==,size_16,color_FFFFFF,t_70)
九 打开Groovy的控制台并定制
![](https://img-blog.csdnimg.cn/20191116195313122.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NoZW5ncWl1bWluZw==,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/20191116195327625.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NoZW5ncWl1bWluZw==,size_16,color_FFFFFF,t_70)
十 Groovy与Java比较实战
1 代码
public class ProjectVersin{
private int major;
private int minor;
public ProjectVersin(int major,int minor){
this.major = major;
// 分号可选
this.minor = minor
}
public int getMajor(){
// 最后一个表达式可作为返回值
major;
// return major;
}
public void setMajor(int major){
// 分号可选
this.major = major
}
// getter 和 setter方法可不写,会自动增加
// public int getMinor(){
// return minor;
// }
// public void setMinor(int minor){
// this.minor = minor;
// }
}
ProjectVersin v1= new ProjectVersin(1,1)
// 用点号可获取属性
// 方法可不用括号
println v1.major
ProjectVersin v2=null
// 不会抛出NullPointerExceptions
print v2==v1
2 运行结果
1
false