构建工具的作用:依赖管理;测试、打包、发布;机器能干的活,绝不自己动手。
主流构建工具:
(1)Ant:编译、测试、打包;
(2)Maven:依赖管理、发布;
(3)Gradle:Groovy,具有更高的灵活性和可扩展性。
Gradle一个项目自动化构建工具
xml过于臃肿,使用groovy的扩展性更好些,能更好地管理“构建脚本”
一个开源的项目自动化构建工具,建立在Apache Ant和Apache Maven概念的基础之上,并引入了基于Groovy的特定领域语言(DSL),而不再是使用XML形式管理构建脚本
Q:为什么需要构建工具?
A:如果没有构建工具:依赖,测试,打包,上传
1. 一个各个去找包,放在lib里,少则几十,多则成百上千,难以管理,出现版本冲突会很麻烦
2. 测试的时候执行一个一个运行类中的main方法
3. 手动达成war包丢到服务器,还要把依赖的包上传到服务器中。。。
准备 使用gradle及第一个项目;基本原理 构建脚本介绍 依赖管理 ;深入实战 多项目构建 测试 发布
安装Gradle: https://gradle.org
配置环境变量:GRADLE_HOME
添加到path:;%GRADLE_HOME%bin;
验证是否安装成功:gradle -v
Groovy与JAVA比较:1.Groovy完全兼容Java语法。2.分号是可选的。3.类、方法默认为public。4.编译器会自动为属性生成get/set方法5.属性可以用点来获取 用最后一个表达式的值作为返回值;==等于直接调用equals方法,弱类型,括号可选,闭包
groovy 是用于java 虚拟机的一种敏捷的动态语言,是一种成熟的面向对象编程语言,既可以用于面向对象编程,又可以用作纯粹的脚本语言;
使用该种语言不必编写过多的代码,同时又具有闭包和动态语言中的其他特性;
gradle 弱类型的语言
没有主函数,可以在任意地方写程序
自定义类型 dev
输出函数括号可选,一般建议带括号,便于识别
arrayList 写法 dev buildTools={"ant","maven"} 添加元素 buildtools << "gradle"
hashMap 写法 dev buildTools={"ant":2009,"maven":2010} 添加元素 buildTools="gradl
向集合list中追加元素:
def mylist=['ant','maven']
mylist << 'gradle'
groovy里面的字符串:
单引号:常量字符串
双引号:可以加字符串变量
三引号:可以使字符串换行 例如 groovy字符串的特性1.'a':只是字符串2."a":里面可以连接变量$(b);3.'''a''':里面的字符串可以换行
前提:构建脚本中默认都是有一个project实例的;1.Apply是project中的一个方法(根据groovy语言特性,括号可以省略)2.version是project中的一个属性变量3.repositories是一个方法,mavenCentral()是一个闭包,整体是一个调用闭包的方法4.同三
多个计划首选