理解 Maven 框架时,有几个关键概念非常重要。
- 项目对象模型 (POM)
- 每一个 Maven 项目都提供一个 pom.xml 文件,该文件用于捕获依赖关系、项目结构属性、构建阶段任务和行为。大多数 POM 属性都具有缺省值,这些缺省值可产生用于描述项目构建行为的小巧但功能强大的机制。
- 构建阶段和构建生命周期
- 构建生命周期由几个阶段组成。发出阶段命令时,Maven 将按序列运行每一个阶段,直到(并包括)所定义的阶段。定义 pom.xml 文件之后,Maven 工具将划分特定构建阶段的优先级并从验证、代码生成、资源组合以及编译中的阶段作出反应。
构建生命周期由以下阶段组成:
- 验证 (validate)
- compile
- 考试
- 数据包
- 集成测试
- 验证
- 安装硬件
- 部署
有关构建生命周期的更多信息可在 http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html 中找到
- 分目标
- 目标表示比构建阶段更细的特定任务,用于帮助完善项目的构建和管理。
- 包
- 设置包装会分配一组缺省目标。有效包装值的示例包括 JAR、WAR、EAR 和 POM。
- Maven 插件
- 插件描述已绑定至特定包装方案或过程的一组目标。
- Mojo
- 这是在插件内实现的特定任务。例如,用于部署至首选运行时环境的 Java™ 类实现。
- 原型
- 原型用作设置新项目的项目模板。这些模板便于通过定义包装目标、插件设置以及与标准库的预定义依赖关系在组织内启用标准。
- Maven 存储库
- 存储库用于存储构建工件以及各种类型的依赖关系。例如,原型、插件和 JAR 文件等。本地存储库将根据需要从远程存储库缓慢进行填充以达到构建目的。