2

我有使用 Ant 的经验,但没有使用 Maven。
我的问题是:为什么 Apache 基金会要发布两个构建工具(Ant 和 Maven)?

  1. 为什么同一个Ant工具不能升级到Maven?
  2. 使用 Maven 而不是 Ant 有什么好处,反之亦然?
  3. 当 Ant 作为构建工具时,构建 Maven 的原因是什么?
4

3 回答 3

8

Apache 并不是真正的“供应商”,它是托管和支持(在许多情况下)其他人/团体捐赠给他们的开源项目的基础。

Ant 的第一个版本是在 2000 年,所以它是一个相当古老的工具。Maven 试图以不同的方式处理构建项目。退役 Ant 没有任何意义,因为它仍然具有很大的价值。

于 2012-05-22T15:38:50.133 回答
3

仅仅因为某些东西正在工作并不意味着它不能被改进。ANT 本身是作为 MAKE 的纯 Java 替代品而构建的。有关 ANT 背后的理念,请参阅什么是ANT。另请查看Maven 团队的 maven 是什么,了解 maven 的目标是什么

就我个人而言,我从 maven 的依赖管理功能中汲取了很多价值。

于 2012-05-22T15:54:21.937 回答
1

最好的构建工具是您自己编写的。每个项目的构建过程都是独一无二的,通常需要以多种不同的方式构建单个项目。
如果您不想编写自己的构建工具,那么您应该使用: Ant 或 Maven
Ant 是构建工具;Maven 是一个构建系统:

这意味着使用 Maven,您无需决定目录布局、构建目标、版本控制方案、依赖项管理等。这一切都是为您设计的。这也意味着如果您不喜欢默认设置,您将在某种程度上反对该工具。

好处是您想要构建到构建系统中的大多数常用工具(CheckStyle、FindBugs、单元测试、单元覆盖、JDepened...)都可以使用,而无需任何额外的开发工作。此外,还有一个定义明确的框架,用于通过构建插件来扩展构建系统(顺便说一句 - 使用 Ant 构建插件非常容易)。此外,与 IDE 的集成很好,因此开发人员可以使用与自动构建系统相同的构建信息。

权衡的是,除非您从头开始,否则您可能需要重构您的源代码以符合 Maven 的期望。不必从头开始构建所有东西的代价是您有时会花时间弄清楚如何哄 Maven 做您想做的事情,您希望它如何完成。

于 2012-05-22T16:04:35.627 回答