构建工具的由来
编程过程中常涉及到很多与编程无关的项目管理工作,如下载依赖、编译源码、单元测试、项目部署等操作。在小型项目中,我们可以通过手动方式调用构建过程,而大型项目这些工作则相对复杂。因此,构建工具的出现能帮助我们实现一系列项目管理、测试和部署等操作,大大提升编程效率。
构建工具的作用
基本上构建的自动化是编写或使一大部分任务自动执行的一个动作,而这些任务则是软件开发者的日常,主要有:
- 下载依赖
- 将源代码编译成二进制代码
- 打包生成的二进制代码
- 进行单元测试
- 部署到生产系统
常用的构建工具(Java)
最初只有 Make 一种构建工具,后来涌现出诸多构建工具。比如:
1. Ant
Ant 是第一个“现代”构建工具,采用XML作为脚本编写格式。对于大型项目,它的 XML 文件很快就大得无法管理。
2. Maven
Maven 仍旧采用 XML 作为编写构建配置的文件格式,通过 groupId 、artifactId、version 组成的 Coordination(坐标)唯一标识一个依赖,并具备从网络上自动下载依赖的能力。
Maven的问题是不能很好的相同库文件的版本冲突,专注于依赖管理,不擅长构建。
Maven的主要优点是生命周期。只要项目基于一定之规,它的整个生命周期都能够轻松搞定,代价是牺牲了灵活性。
3. Gradle
Gradle结合了前两者的优点,在此基础之上做了很多改进。它具有Ant的强大和灵活,又有Maven的生命周期管理且易于使用。它使用基于Groovy的专门的DSL,从而使Gradle构建脚本变得比用Ant和Maven写的要简洁清晰。
Gradle的成就可以概括为:约定好,灵活性也高。
.....
参考文献: