简介:Maven 将作为一个普通的构建系统,被人们重新认识,并且它将超越 Java技术。本文不打算成 为一篇 Maven 教程,而是将 Maven 与其他技术进行比较,让您洞察 Maven 与 Eclipse 相适应的地方, 以及如何使这些工具相互协作。
在过去几年中,Maven 已经不仅仅是 Java 世界的一个时髦话题 。自 2001 年起,Maven 已经成为构建工具领域的先驱。最近几年,人们常拿它与 Ant 比较。因为 Maven 与 Ant 有一些显而易见的相似之处,所以拿它们俩作比较似乎是很自然的事。比如说,在两种情 况下,XML 脚本都是可用的;两种工具都可以生产工件;它们还可以共享相同的分类法和概念,比如 项 目(project)、目标(target)与 目标(goal),以及 依赖关系(depends) 和 先决条件(prereqs )。但它们实质上有很大的差别。Ant 只是一个 XML 脚本工具,而 Maven 是一个普通的构建工具,它关 注的重点是一个叫做项目对象模型(POM)的概念。POM 暴露的是粗粒度的、面向构建的任务,这些任务 被称为目标,它们提供了一些准则,帮助您开发构建方法和实现最佳实践。
在某些方面,Maven 属于软件工厂 工具家族(参阅 参考资料),尽管目前它仍在外围。更确切地说,诸如 Maven 之类的构 建工具是软件工厂领域中必不可少的。
软件工厂
通过显著提高自动开发的级别,软件工厂 提供了一个花费更少、更灵活的应用程序开发方法。根据 Software Factories Web 站点的说法, “软件工厂是一个软件产品线,它根据构建特殊种类的应用程序的方法,配置一些可扩展的开发工 具……提供打包的内容……以及指导”(参阅 参考资料)。软件工厂涉 及三个主要概念:
模式,提供了一些元数据,描述组成应用程序的不同工件的结构,以及它们是 如何交互的。
一个或多个模板,提供了启动程序工具箱,以及构建应用程序所需的其他任何东西 。
可扩展的开发环境,用于配置、定制和装配组件。
如今,这类工具已经逐渐引起了认 识到它们的价值的那些工具制造人员、工具开发人员和软件编辑的注意。这些工具促进了软件开发过程的 工业化,降低了投入市场的成本和时间,同时还提高了生产率,加快了对进化需求的反应。