maven和ant是完成同一功能的两个工具吗_antmaven

如题所述

Maven是Ant的另一种选择么?

当然,Maven是Ant的另一种选择,但是ApacheAnt8继续是一个伟大的,被广泛使

用的工具。它已经是多年以来Java构建的统治者,而你很容易的在你项目的Maven

构建中集成Ant构建脚本。这是Maven项目一种很常见的使用模式。而另一方面,随着越来越多的开源项目转移到Maven用它作为项目管理平台,开发人员开始意识到

Maven不仅仅简化了构建管理任务,它也帮助鼓励开发人员的软件项目使用通用的接

口。Maven不仅仅是一个工具,它更是一个平台,当你只是将Maven考虑成Ant的

另一种选择的时候,你是在比较苹果和橘子。“Maven”包含了很多构建工具以外的东

西。

有一个核心观点使得所有的关于Maven和.Ant,Maven和Buildr,Maven和

Grandle的争论变得无关紧要。Maven并不是完全根据你构建系统的机制来定义的,它不是为你构建的不同任务编写脚本,它提倡一组标注,一个一般的接口,一个生命

周期,一个标准的仓库格式,一个标准的目录布局,等等。它当然也不太在意POM的

格式正好是XML还是YAML还是Ruby。它比这些大得多,Maven涉及的比构建工具

本身多得多。当本书讨论Maven的时候,它也设计到支持Maven的软件,系统和标

准。Buildr,Ivy,Gradle,所有这些工具都和Maven帮助创建的仓库格式交互,而你

可以很容易的使用如Nexus这样的工具来支持一个完全由Buildr编写的构建。Nexus

将在本书后面介绍。

虽然Maven是很多类似工具的另一个选择?但社区需要向前发展,就要看清楚技术是

资本经济中不友好的竞争者之间持续的、零和的游戏。这可能是大企业之前相互关联的

方式,但是和开源社区的工作方式没太大关系。“谁是胜利者?Ant还是Maven”这个

大标题没什么建设性意义。如果你非要我们来回答这个问题,我们会很明确的说作为构

建的基本技术,Maven是Ant的更好选择;同时,Maven的边界在持续的移动,Maven

的社区也在持续的是试图找到新的方法,使其更通用,互操作性更好,更易协同工

作。Maven的核心财产是声明性构建,依赖管理,仓库管理,基于插件的高度和重用,但是当前,和开源社区相互协作以降低”企业级构建“的低效率这个目标来比,这些想

法的特定实现没那么重要。

温馨提示:答案为网友推荐,仅供参考