是什么?
在语法上基于Groovy语言的(Groovy是一种基于JVM的敏捷开发语言,可以简单的理解为强类型语言java的尽善弱类型版本),在项目管理上是基于Ant和Maven概念的项目自动化构建工具。
执行流程和基本术语
和Maven一样,Gradle只是提供了构建项目的一个框架,真正起作用的是Plugin。Gradle在默认情况下为我们提供了很多常用的Plugin。与Maven不同的是,Gradle不提供内建的项目生命周期管理,只是java plugin向project中添加了许多Task,这些Task依次执行,为我们营造一种如同Mave般项目构建周期。
Gradle是一种声明式的构建工具。在执行时,Gradle并不会一开始便顺序执行build.gradle文件中的内容,而是分为两个阶段,第一个阶段是配置阶段,然后才是实际的执行阶段。
配置阶段,Gradle将读取所有build.gradle文件的所内容来配置project和task等,比如设置Project和Task的Property,处理Task之间的依赖关系等。
Project ,Task, Action
Project是Gradle最重要的一个领域对象,我们写build.gradle脚本的全部作用,其实就是配置一个Project实例。在build.gradle脚本里,我们可以隐式的操纵Project实例,比如,apply插件、声明依赖、定义Task等。如果需要,也可以显示的操纵Project实例,比如project.ext.myProp='myValue'
Task被组织成一个有向无环图,Gradle中的Task要么是由不同的Plugin引入的,要么是我们自己在build.gradle文件中直接创建的。Gradle保证Task按照依赖顺序执行,并且每个Task最多只被执行一次。
Gradle在默认情况下为我们提供了几个常用的Task,比如查看Project的Properties、显示当前Project中定义的所有Task等。$gradle tasks可以查看Project中所有的Task。
项目配置说明
(1)use auto-import:是否开启自动导入,若开启修改gradle脚本文件后会自动检测变化并对项目进行刷新。
(2)create directories for emptry content roots automatically 导入或者创建gradle项目进,是否自动创建标准目录结构。
(3)create seperate module per source set:让每个模块单独采用gradle约定的source set 结构去执行构建。
(4)use default gradle wrapper(recommended):使用gradle wrapper,这可以使得项目组成员不必预先安装gradle即可执行gradle脚本,同时也便于统一项目所使用的gradle版本,当然虽说是不必预装,其实是它会自动去官网下载一个。
(5)use gradle wrapper task configuration 自定义gradle wrapper配置
(6)use local gradle distribution:采用本地安装 的gradle执行脚本 。
全局配置
(1)offline work:开启离线模式后,gradle将不会联网查找依赖,而是仅从本地缓存中查找
(2)service directory path:修改gradle的默认缓存目录,该项也可以通过添加GRADLE_USER_HOME环境变量进行设置,默认值是USER_HOME/.gradle文件夹。
(3)gradle vm option:也可以通过gradle -d参数进行配置。
代理配置
默认情况下当你右键main、单元测试或者把项目添加到tomcat等运行的时候,idea并不会采用gradle去编译构建你的项目,此时就需要勾选图上的选项,把build委托给gradle就可以了。

项目文件
- .gradle gradle项目产生文件(自动编译工具产生的文件)
- build 自动构建时生成文件的地方
- gradle 自动完成gradle环境支持文件夹
- build.gradle gradle 项目自动编译的配置文件
- gradle.properties gradle 运行环境配置文件
- gradlew 自动完成 gradle 环境的linux mac 脚本,配合gradle 文件夹使用 代替gradle 命令实现自动完成gradle环境搭建,配合gradle文件夹的内容
- gradlew.bat 自动完成 gradle 环境的windows 脚本,配合gradle 文件夹使用
上面两个文件会做如下几件事情
1.解析 gradle/wrapper/gradle-wrapper.properties 文件,获取项目需要的 gradle 版本下载地址
2.判断本地用户目录下的 ./gradle 目录下是否存在该版本,不存在该版本,走第3点,存在走第4点
3.下载 gradle-wrapper.properties 指定版本,并解压到用户目录的下 ./gradle 文件下
4.利用 ./gradle 目录下对应的版本的 gradle 进行相应自动编译操作
- setting.gradle gradle 项目的子项目包含文件
Gradle工具窗口
可以通过View -> Tool windows -> Gradle 打开,也可以从右侧纵向标签页点击打开.

最后欢迎大家访问我的个人网站:1024s

本文介绍了Gradle构建工具的基本概念,包括其语法基础、执行流程、核心术语以及配置选项。对比Maven,Gradle提供了更灵活的项目构建方式,支持声明式的构建过程,并详细解释了配置阶段与执行阶段的区别。

1251

被折叠的 条评论
为什么被折叠?



