声明:本人英语不好,翻译的可能不好,如果哪里出现错误,还请指出。
Maven维护一个项目的模型。你不只是编译成字节码的源代码,你正在开发一个软件项目的描述和给项目分配一套独特的坐标。你所描述的该项目的属性。什么是该项目的许可证?谁开发,并有助于该项目?此项目依赖于其他项目吗?Maven不仅仅是一个“构建工具”,不仅仅是一个类似于make和Ant工具的改进,它是一个平台,包括相关的软件项目和软件开发的一个新的平台。对每一个项目的模型有这些特性:
依赖管理
因为一个项目是由一套独特的坐标组成的一group标识符,artifact标识符,版本定义,项目现在可以使用这些坐标申报的依赖。
远程仓库
与依赖管理有关的,我们可以使用在Maven项目对象模型(POM)中定义的坐标创建的Maven构件库。
通用重用构建逻辑
插件中包含的逻辑是在工作在描述性数据和在POM中定义的变量的基础之上的,它们不被设计使用在已知的特定文件中。
工具可移植性/集成
像Eclipse的NetBeans,和IntelliJ的工具,现在有一个共同的地方可以找到有关项目的信息。Maven的到来之前,每一个IDE基本上是有不同的方式来存储一个自定义的项目对象模型(POM)。Maven有标准化这样的描述,而每个IDE继续保持自定义的项目文件,他们可以很容易地从模型生成。
轻松搜索和筛选的项目工件
如Nexus的工具允许你索引和搜索使用POM中存储的信息库的内容。