1.Groovy:
面向对象编程语言,既可用于面向对象编程,也可以用作纯粹的脚本语言。该语言不用编写过多代码,又具有闭包和动态语言的其他特性。
2.与Java比较:
兼容java代码,编译成java字节码
类方法默认 public
3.groovy高效特性:
1.def 可选的类型定义
2.assert
3.括号可选
4.字符串:单引号表示一个单纯的字符串,双引号中${}可以加入变量,三个单引号可以换行
5.集合API
List 默认对应java arrayList
def list = ['a','b']
list << 'c' //添加一个元素
Map对应LinkedHashMap
6.闭包
4.Gradle构建两个概念:project和task
每个构建至少包含一个项目,项目中包含一个或者多个任务。项目可以依赖其他项目。
5.构建生命周期
初始化:创建project实例
配置:生成task依赖顺序以及执行顺序
执行:执行动作(如doLast doFirst等)
6.解决依赖冲突
查看依赖报告
IDEA-GRADLE-tasks-help-dependencies
排除传递性依赖
强制一个版本
7.修改默认解决策略
configurations.all{
resolutionStrategy{
failOnVersionConflict()
}
}
8.排除传递性依赖
compile('org.hibernate:hibernate-core:3.6.3.Final'){
//不需要指定具体版本,会使用最高版本
exclude group:"org.slf4j", module:"slf4j-api"
//transitive = false 是排除掉所有传递依赖,不要使用
}
9.强制指定一个版本
//可以是最高版本,也可以是最新版本,高于所有依赖版本
configurations.all{
resolutionStrategy{
force 'org.slf4j:slf4j-api:1.7.24'
}
}
10.发布
apply plugin : 'maven-publish'
publishing{
publications{
myPublish(MavenPublication){
from components.java
}
}
repositories{
maven{
name "myRepo"
url ""
}
}
}