我有使用Ant的经验,但没有使用Maven 我的问题是:为什么Apache Foundation会发布两个构建工具(Ant和Maven)?
答案 0 :(得分:8)
Apache并不是真正的“供应商”,它是托管和支持(在许多情况下)其他人/团体捐赠给他们的开源项目的基础。
Ant的第一个版本早在2000年,所以它是一个非常古老的工具。 Maven试图以不同的方式处理项目建设。退役Ant没有任何意义,因为它仍然有很多价值。
答案 1 :(得分:3)
仅仅因为某些东西起作用并不意味着它无法改进。 ANT本身是作为MAKE的纯Java替代品构建的。 有关ANT背后的理念,请参阅What is ANT。 另请参阅What is maven,了解Maven团队对maven目标的看法。
我个人从maven的依赖管理功能中汲取了很多价值。
答案 2 :(得分:1)
最好的构建工具是您自己编写的工具。每个项目的构建过程都是独一无二的,通常需要以多种不同的方式构建单个项目
如果您不想编写自己的构建工具,那么您应该使用:Ant或Maven
Ant是一个构建工具; Maven是一个构建系统:
这意味着使用Maven,您无需确定目录布局,构建目标,版本控制方案,依赖关系管理等。这些都是为您设计的。如果您不喜欢默认设置,这也意味着您将在某种程度上反对该工具。
好处是,您希望构建到构建系统中的大多数常用工具(CheckStyle,FindBugs,单元测试,单元覆盖范围,JDepened ......)都可以使用,无需任何额外的开发工作。此外,还有一个定义良好的框架,用于通过构建插件来扩展构建系统(顺便说一句 - 使用Ant来构建插件非常简单)。此外,与IDE的良好集成使开发人员使用与自动构建系统相同的构建信息。
权衡是,除非您从头开始,否则您可能需要重构源代码以符合Maven的预期。无需从头开始构建所有内容的权衡是,您有时会花时间弄清楚如何诱使Maven做您想做的事情,以及您希望如何完成。