gradle简介
Gradle是一个基于Apache Ant 和 Apache Maven概念的项目自动化构建工具,使用Groovy特定语言DSL来声明项目设置,抛弃了基于xml的繁琐配置,主要面向Java应用
gradle和maven比较
- gradle灵活性比较好,可扩展到其他生态圈,嵌入到其他系统中去,maven模型比较僵硬,一些个性化配置很难实现
- gradle引用依赖语法比较简洁
- 项目结构 Gradle项目中使用了标准的Maven项目结构 无需多余配置 只需要在文件中含有apply plugin:‘java’
安装
Gradle官网:https://gradle.org/install/#manually
下载二进制文件 解压 添加到path环境变量即可
测试 gradle -v
相关使用
创建Task 任务
task hello1 << {
println 'hello1'
}
<< 追加的意思 等同于 doLast
添加依赖
task hello5(dependsOn:hello4) << {
println 'hello5'
}
配置Task属性
task showDescription2 << {
println description
}
showDescription2.description = 'this is task showDescription'
gradle闭包
task showDescription3 << {
println description
}
showDescription3 {
description = 'this is task showDescription'
}
增量式构建
每个Task都可以设有输入(inputs和输出(outputs) 在执行Task时如果他的输入和输出没有于前一次执行时没有发生变化,那么gradle会认为该Task是最新的,不予执行 这样避免了Task反复构建
Project属性配置
常用Property
- project:Project本身
- name:Project的名字
- path:Project的绝对路径
- description:Project的描述信息
- buildDir:Project构建结果存放目录
- version:Project的版本号
使用Java Plugin并配置不同类型文件位置
如果存在依赖冲突,在默认情况下,Gradle会选择最新版本,这和Maven是不同的,Maven会选择离依赖树最近的版本。