- 末尾分号可不写
- 成员变量自动 补充get/set
- 使用成员变量可用 实例.成员变量获取
- 方法内最后一个变量作为返回值
- def 定义变量,类似于var
- assert 可在任何地方被使用
- 方法的()是可选的
- 字符串
- '内容' 表示纯字符串
- "内容" 表示字符串,可在内加入变量 例子"这是一个例子
- ${变量}"
- '''内容''' 可换行,表示以内的都是字符串类似 c# 的@
-
集合
list def listTest['a','b'] //定义一个list listTest << 'c' //增加元素c map def mapTest['a':1,'b':2] //定义一个Map mapTest.c=3 //增加一个元素 map的使用 mapTest.c mapTest['c']
-
闭包 可赋值给变量或者通过方法参数进行传递的一段代码块
-
定义一个有参数的闭包
def a={ v -> print v }
-
定义一个方法使用闭包
def test(Closure closure){ closure('a') }
-
使用
test(a)
-
创建任务
//定义一个 创建文件夹的闭包 传入文件路径
def createDir = {
file ->
File dir=new File(file)
if(!dir.exists()){
dir.mkdirs()
}
}
tesk makeWebDir(){
dependsOn 'makeJavaDir' //执行任务会依赖 makeJavaDir任务
def paths={'src/main/webapp','src/test/webapp'}
doFirst{ //任务执行前运行
....
}
doLast{ //任务执行完后运行
paths.forEach(createDir) //遍历路径,创建文件夹
}
}
test makeWebDir <<{ //表示执行makeWebDir后执行
.....
}
- 依赖冲突
- 默认使用依赖中最新的版本
- 关闭使用最新的版本功能(打开依赖冲突提示) 在依赖时,移除依赖的版本
- 在打开冲突提示的位置强制依赖最新的版本
网友评论