maven学习1——maven预览
图 1 中的关键组件为:
项目对象模型(POM): POM 是 Maven 2 中的里程碑式的模型。该模型的一部分已经构建到 Maven 引擎(被亲切地称为反应堆 )中,其余部分则通过一个名叫 pom.xml 的基于 XML 的元数据文件来声明。如果您对其中一些概念还有点模糊,请不要担心。接下来的部分会用具体的例子来巩固这些模型背后的概念。
图 2 中,POM 是 Maven 对您的特定项目的理解。这个模型由包含在一系列 pom.xml 文件中的声明性描述构成。这些 pom.xml 文件构成一棵树,每个文件能从其父文件中继承属性。Maven 2 提供一个 Super POM。这个 Super POM 位于层级树的顶端,它包含所有项目的默认通用属性;每个项目的 POM 都从这个 Super POM 处继承。
依赖项被指定为 pom.xml 文件的一部分。Maven 根据其依赖项管理模型解析项目依赖项。Maven 2 在本地存储库和全球存储库寻找依赖性组件(在 Maven 术语里称作工件 )。在远程存储库中解析的工件被下载到本地存储库中,以便使接下来的访问可以有效进行。Maven 2 中的这个依赖项解析器可以处理可递 依赖项。即,它能有效地解析您的依赖项所依赖的那些依赖项。
Maven 引擎通过插件 亲自执行几乎所有的文件处理任务。插件被配置和描述在 pom.xml 文件中。依赖项管理系统将插件当作工件来处理,并根据构建任务的需要来下载插件。每个插件都能和生命周期中的不同阶段联系起来。Maven 引擎有一个状态机,它运行在生命周期的各个阶段,在必要的时候调用插件。