Gradle 简记
不是 Gradle,就是 Maven吧。对比下:
Maven:
- 推荐(?)了一个默认的项目结构和生命周期,但是太过死板
- 虽然暴露了 API 接口,但是插件定制太过复杂
- 和 Ant 一样,仍然无法表达复杂的构建逻辑
Gradle:
- 调用 Maven 接口管理依赖(所以更为简洁)
- 灵活的项目结构和生命周期
- 使用 Groovy 脚本定制构建逻辑(故兼容 Java)
- 兼容 Ant 和 Maven 任务
所以单兵作战还是可以考虑 Gradle。安装配置 Gradle:
- 下载:https://gradle.org/install/
- 解压,配置环境变量:path 中添加解压目录 Gradle 中的 bin 目录
- 验证:gradle -v
Gradle 脚本:
在工程根目录下,需要一个构建脚本:build.gradle。在某目录下运行 gradle 命令,gradle 会去查找默认的 build.gradle 脚本。如果找不到,会有提示。.gradle 文件完全兼容 Groovy 语言。
build.gradle 分为两个基本部分:
- 配置:脚本一旦运行,配置部分都会被执行
- 任务:调用的时候,指定任务名字的任务将会被运行
- 任务之间可能有依赖关系,所以没有指定名字的任务也可能被执行
运行示例:
gradle 任务名:执行一个任务。gradle tasks --all:查看所有任务。可以使用任务名的缩写:任务名必须采用 camelCase(驼峰命名法),而且任务名的缩写在当前环境必须是唯一的。
例如:
Gradle 命令行选项(用到了再深究吧):
- -i:改变日志级别为 INFO
- -s:打印出错时的堆栈跟踪信息
- -q:减少构建项目时的打印信息
- -h:打印帮助信息
- -b:执行一个其他的构建脚本(what 嗯哼 ?)
- --offline:离线模式运行,仅在本地检查依赖
构建 Java 项目:
可以使用 Gradle 的 Java 插件。使用 Java 插件,会引入大量 Java 相关的任务,通过调用这些任务,Gradle 就可以构建 Java 程序:
约定目录:和 Maven 一样,默认源码路径为 src/main/java,默认单元测试代码路径 src/test/java。
构建命令:gradle build。
配置:可以通过 gradle properties 命令查看当前有哪些可以配置的属性(Project 原生属性、Java 插件引入的属性、jar 任务属性等),以及这些属性的默认值。官方对最新版本的配置属性也有说明:https://docs.gradle.org/current/dsl/。