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 站点的说法,“软件工厂是一个软件产品线,它根据构建特殊种类的应用程序的方法,配置一些可扩展的开发工具……提供打包的内容……以及指导”(参阅 参考资料)。软件工厂涉及三个主要概念:
- 模式,提供了一些元数据,描述组成应用程序的不同工件的结构,以及它们是如何交互的。
- 一个或多个模板,提供了启动程序工具箱,以及构建应用程序所需的其他任何东西。
- 可扩展的开发环境,用于配置、定制和装配组件。
如今,这类工具已经逐渐引起了认识到它们的价值的那些工具制造人员、工具开发人员和软件编辑的注意。这些工具促进了软件开发过程的工业化,降低了投入市场的成本和时间,同时还提高了生产率,加快了对进化需求的反应。
仔细查看一下 Maven 的主要特性,您就会认识到 Maven 与软件工厂之间的相似之处:Maven 使用 POM 作为元数据来描述项目结构,并通过通用应用程序插件来获得可扩展的项目模板。因为 Maven 非常灵活并且是开放源码的,所以很容易推断和设想 Maven 是软件工厂平台中的一个核心组件。但是,还有另一种说法。上述类比并不完全,因为目前的 Maven 缺乏专用的开发环境,而这类环境有助于创建特定于域或特定于企业的插件和模板,并允许您轻松地配置项目或定制行为。
不过,Maven 的主要目标是标准化构建过程,并保证代码构建-测试-部署(CBTD)循环中的质量和易再现性(easy reproducibility)。它还可以制定度量标准,帮助您了解开发状态。CBTD 本体论在软件工程领域已经不再新鲜,但 Maven 可以使您标准化这种本体论,并通过抽象这种理论,将它想像成一个完整的实体。考虑到不断增长的项目的复杂性,标准化成为一种迫切需要。
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 利用 Maven Eclipse 构建 一个 开发 工具 任务 可以 一些 |
注册
个人空间
