构建工具-Gradle
2019-07-13 本文已影响0人
jacob_
1 引言
- 石器时代:在自动化构建工具产生之前,我们进行依赖管理的方式通常是将jar包直接放入lib文件中。这样会很容易出错
- 构建工具的作用:①依赖管理②测试、打包、发布
- 主流构建工具:Ant 提供编译、测试、打包功能,Maven在Ant的基础之上提供依赖管理、发布功能。而Gradle在Maven的基础上又进了一步,其使用Groovy进行构建脚本而不再使用XML这种标记性的语言来标记脚本。具有更高的灵活性、与可扩展性。
1.1定义
- Gradle是什么:它是一个项目自动化构建工具,建立在Apache Ant与Apache Maven概念的基础上,并引入了Groovy而不再使用XML。
- Gradle能为我们做什么:编译、测试、打包,依赖管理、发布
1.2 安装
- 下载gradle
- 配置环境变量,添加GRADLE_HOME:D:\Gradle\gradle-5.4.1-bin\gradle-5.4.1 , path路径添加;%GRADLE_HOME:D%\bin;
- gradle -v 检测是否安装成功
1.3 Groovy是什么
- 是用于Java虚拟机的一种敏捷的动态语言,它是一种成熟的面向对象编程语言,即可以用于面向对象编程,又可以用作纯粹的脚本语言。
- 与java相比较,①Groovy完全兼容java的语法②分号是可选的③类、方法是默认public的④编译器给属性自动添加getter/setting方法⑤属性可以直接用点号获取
- 简单操作如下:
public class ProjectVersion{
private int major
private int minor
int getMinor() {
minor
}
ProjectVersion(int major, int minor) {
this.major = major
this.minor = minor
}
}
ProjectVersion v1 = new ProjectVersion(1,1);
println v1.minor
ProjectVersion v2 = null
println v1 == v2
其中在ProjectVersion中,并没有添加getter/setting方法,可以不加分号,属性都可以直接用点号,尽管其是private类型,方法的参数可以直接跟在方法后面,不用加括号println v1.minor,方法最后一个值被默认为返回值minor。
- 字符串操作:
groovy支持三种类型的字符串定义。
def version = 1
def s1 = 'jacob'
def s2 = "gradle version is ${version}"
def s3 = '''i
am
jacob
'''
println(s1)
println(s2)
println(s3)
其中,由单引号构成的仅仅是一个字符串,由双引号构成的还可以添加变量在其中,三个单引号组成的可以换行。
1.4 集合api
- List
def buildTools = ['ant','maven']
buildTools << 'gradle'
assert buildTools.getClass() == ArrayList
assert buildTools.size() == 3
执行没有异常,说明代码是执行成功的。其中buildTools << 'gradle'表示追加 'gradle'的意思。
- Map
2 构建脚本简介
2.1 Project
- 属性 : group、name、version
- 方法:apply、dependencies(该项目依赖于哪些jar包)、repositories(去哪个仓库去找这些依赖的jar包)、task