Maven哲学

  Maven一般被认为只是一个构建工具。很多刚接触Maven的人对Ant比较熟悉,因此自然会形成这种联想。但Maven不仅是一个构建工具,也不仅是一个Ant的替代品。Maven是一个完全不同于Ant的创造。Ant仅仅是一个工具箱,而Maven是一种模式的应用,这种模式创建了一个基础设施,该基础设施体现出多种特性:可视性、可重用性、可维护性和可理解性。

  如果没有这些特性,一个项目中的多个人就很可能没有办法高效率地一起工作。没有可视性,一个人很可能不知道另一个人已经完成了什么,这样一段很有用的代码很可能无法得到重用,当代码无法重用时,我们很难创建出一个维护性好的系统。当每个人都在不断地试图找出构成你项目中不同的零碎东西时,很少有人会把整个项目理解为一个整体。这样导致的结果是:筒仓效应,共享知识的减少伴随着团队成员之间相应程度的消极情绪。当每个人都以不同的方式工作时,这是一个自然的结果。

  Maven诞生于非常切实的目的:让Apache的几个项目按照相同的方式工作。这样开发者就能够自由地在这些项目之间转换,了解了这些项目中任意一个的工作方式就能够知道其它所有项目是如何工作的。如果开发者花时间了解了一个项目的构建方式,那他在接手下一个项目时就不用再学习一遍相同的构建流程。同样的道理,也适用于测试、生成文档、生成指标、报告、发布等阶段。所有项目充分共享相同的特性。几乎每个项目都需要构建、测试、打包、文档化和发布。当然上述的每个步骤都有各种差别,但是这些差别依然发生在一个良好定义的途径限制之内,这里,Maven正尝试明确地向大家介绍这个途径。最早的创建一个这样途径的方式是为人们提供一组模式,在项目相关的任何人之间分享。

译者注:这里的途径应该指的是一种项目管理工具或方式的定义;而这里的模式很可能指的是Maven目前提供的这一套机制,实现了前文的”途径”

原文地址:http://maven.apache.org/background/philosophy-of-maven.html

猜你喜欢

转载自blog.csdn.net/zou8944/article/details/79335218