版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/9322389
《替代Apache Ant的最佳工具》
作者:chszs,转载需注明。博客主页:http://blog.csdn.net/chszs
尽管最近Apache Ant发布了最新的1.9.2版,下载地址见:http://ant.apache.org/bindownload.cgi
但是,Apache Ant毕竟是几年前的产物,它的有些方法、思想和理念已经落后于当前主流的Maven等工具。那么,当前最好的、最适合替代Ant的构建工具到底是哪一个呢?
有3种选择:Maven、Gradle和Buildr。
有一点需求很重要,那就是希望新构建工具能够兼容Ant的构建脚本和自定义任务,以便让很多项目能够平滑升级。因为Apache Ant毕竟是早期事实上的构建项目的标准,因此早期很多开源项目都是基于Ant构建的。
上面三个构建工具,其中Gradle能够和Ant实现最佳的集成。它允许现有的Ant自定义任务不加任何修改,还允许导入Ant构建脚本到Gradle的构建脚本中。Gradle的任务甚至可以依赖Ant的target,反之亦然。这使得访问Ant属性变得非常容易。
对于任意Ant项目,要迁移到Gradle项目难度并不大,而且还有如下的好处:
1. 可以利用强大的Groovy脚本
2. 易于集成Groovy和Java
3. 内建的依赖管理功能
4. 支持插件系统
Apache Buildr,也是一个面向Java项目的构建工具,它提供了对包括Scala、Groovy和其它可运行于JVM的语言的支持。Apache Buildr的设计理念就是简单和直观。
Buildr有一个缺点,就是要安装和使用它,必须先安装Ruby。而Buildr仅支持Ruby 1.8.6版,对于Ruby 1.9.x的支持目前还出于开发过程中,更不用说最新的Ruby 2.0了。也就是说,Buildr在Ruby语言的支持方面远远滞后于Ruby语言本身的发展。
其它两种工具,像Buildr,它可与Ant相集成,而且它并不像Gradle那么复杂。Maven并不像Ant或Gradle这样的脚本工具那么简单,它是声明式的,而不是过程式的。因此,当迁移复杂的Ant构建脚本到Maven将是一件相当麻烦的事,而且常常会涉及到需开发自定义Maven插件。