《maven权威指南(中文)

Page 20

介绍 Apache Maven

1.5. 一个“项目”的概念模型 Maven 维护了一个项目的模型,你不仅仅需要把源码编译成字节码,你还需要开发软 件项目的描述信息,为项目指定一组唯一的坐标。你要描述项目的的属性。项目的许可 证是什么?谁开发这个项目,为这个项目做贡献?这个项目依赖于其它什么项目没有? Maven不仅仅是一个“构建工具”,它不仅仅是在类似于 make 和 Ant 的工具的基础上 的改进,它是包含了一组关于软件项目和软件开发的语义规则的平台。这个基于每一个 项目定义的模型实现了如下特征: 依赖管理 由于项目是根据一个包含组标识符,构件标识符和版本的唯一的坐标定义的。项 目间可以使用这些坐标来声明依赖。 远程仓库 和项目依赖相关的,我们可以使用定义在项目对象模型(POM)中的坐标来创建 Maven 构件的仓库。 全局性构建逻辑重用 插件被编写成和项目模型对象(POM)一起工作,它们没有被设计成操作某一个 已知位置的特定文件。一切都被抽象到模型中,插件配置和自定义行为都在模型 中进行。 工具可移植性/集成 像 Eclipse,NetBeans,和 InteliJ 这样的工具现在有共同的地方来找到项目 的信息。在 Maven 出现之前,每个 IDE 都有不同的方法来存储实际上是自定义 项目对象模型(POM)的信息。Maven 标准化了这种描述,而虽然每个 IDE 仍然 继续维护它的自定义项目文件,但这些文件现在可以很容易的由模型生成。 便于搜索和过滤构件 像 Nexus 这样的工具允许你使用存储在 POM 中的信息对仓库中的内容进行索引 和搜索。 Maven 为软件项目的语义一致性描述的开端提供了一个基础。

1.6. Maven是Ant的另一种选择么? 当然,Maven 是 Ant 的另一种选择,但是 Apache Ant8 继续是一个伟大的,被广泛使 用的工具。它已经是多年以来 Java 构建的统治者,而你很容易的在你项目的 Maven 构建中集成 Ant 构建脚本。这是 Maven 项目一种很常见的使用模式。而另一方面, 随着越来越多的开源项目转移到 Maven 用它作为项目管理平台,开发人员开始意识到 8

http://ant.apache.org

4


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.