在最开始的时候, 项目构建可用的工具只有make, 后来又有了GNU MAKE, 再随着需求的增长, 更加高级的构建工具出现了.
在JAVA开发工具圈中,目前最主流的有以下三个开发工具
ANT/IVY
MAVEN
GRADLE/IVY
比较成熟的JAVA项目我们都会用ANT IVY, MAVEN, 或者GRADLE脚本来管理,而不会使用某一个IDE, 因为每个人对IDE的喜好不同, 使用IDE作项目管理不够妥善.
这里简单说明以下这几个工具的特点,
- ANT 和 IVY
ant是他们里边出现最早的工具, 它在一些方面跟Make工具很相像.它在2000年发布,并在短时间内成为了最流行的Java项目构建工具. 它非常简单易学, 人们不需要专门去学习他, 就可以拿来使用.它基于编程的思想设计.
后来发布的版本, 开始支持插件.
它的主要缺点是配置文件使用XML, 从而导致了分级的架构, 从而不适与用编程的思想去使用它.另一个问题是在管理小项目的时候配置文件过于庞大臃肿.
oracle的netbeans默认使用它作为构建工具. 最新版本的eclipse也默认继承了它的插件. - MAVEN
maven于2004年发布, 它起初的目的是解决程序员在使用ant时碰到的一些问题.
maven仍然适用xml作为配置文件规范, 但是架构不同了. ant要求开发者把构建过程中使用的所有命令都要在xml里描述, 而maven主要依赖于一些默认设置和惯例, 大大减少了配置文件的体积. maven最重要的一个特性是可以通过网络下载配置文件中描述的依赖, 这改变了源代码管理的方式. 不过ant通过ivy也可以实现这个特性了.
eclipse和其他的编辑器都可以通过插件支持maven的功能. - GRADLE
gradle结合了上边两个的优点, 同时基于DSL描述配置, 以及其他的一些改进. 它拥有ant的灵活性和强大功能, 也有maven的生命周期管理和易用性. 它在2012年一发布, 就在短期内获得了大量关注. 比如谷歌的android, 已经把gradle做为了android studio的官方构建工具.
gradle不适用xml作为配置文件, 它使用基于Groovy开发的DSL. 所以gradle的配置文件比ant和maven的更加高效和简洁. 由于该DSL是专门为它开发的, 所以它的配置文件要比ant和maven少得多,在整个开发 测试 打包 部署的整个生命周期都是如此.
它跟ant一样,使用了ivy作为jar包的依赖管理工具.
总的来说, gradle是因为约定,所以简单.