Maven笔记整理

Maven笔记整理

Project Object Model

Project Object Model (POM) 是 Maven 项目配置的核心概念。在 Maven 项目中,POM 通过一个名为 pom.xml 的 XML 文件表示。它包含了项目的基本信息和配置详情,如项目名称、版本、依赖项、插件、目标等。POM 使得项目的构建过程变得透明化,并且可重复,确保了持续集成和部署的一致性。

下面是 POM 中一些关键部分的概述:

  1. 基本信息:包括项目的坐标,即 groupId, artifactId, 和 version。这些元素唯一地定义了项目在仓库中的位置。

  2. 依赖管理:在 <dependencies> 部分定义项目所需的库。每个依赖项都有其自己的坐标和范围,指明了库在项目生命周期中的使用阶段。

  3. 插件和目标<build> 部分中的 <plugins> 定义了项目构建过程中使用的插件及其配置。这些插件可以绑定到生命周期的不同阶段上。

  4. 属性:可以定义一些属性来简化配置,例如,可以指定编译器版本或者文件编码方式。

  5. 构建配置:如源码路径、测试路径、输出文件等也在 POM 中配置。

  6. 构建生命周期:POM 文件定义了项目的构建生命周期,包括编译、测试、打包和部署等阶段。

  7. 项目继承:通过 <parent> 元素,POM 可以继承另一个 POM 的配置。这在多模块项目中特别有用。

  8. 项目聚合:通过 <modules> 元素,可以定义项目的子模块,允许一次性构建多个模块。

  9. 仓库管理:指定项目使用的仓库地址,用于依赖项的下载和项目成果的上传。

  10. 配置管理:可以包括对源代码管理系统的引用。

命令

在实际开发过程中,经常使用的命令有: - mvn clean:清理所有生成的class和jar; - mvn clean compile:先清理,再执行到compile; - mvn clean test:先清理,再执行到test,因为执行test前必须执行compile,所以这里不必指定compile; - mvn clean package:先清理,再执行到package。

构建过程

大多数阶段(phase)在执行过程中,因为我们通常没有在pom.xml中配置相关的设置,所以这些phase什么事情都不做。 经常用到的phase其实只有几个: clean:清理 compile:编译 test:运行测试 package:打包

目录

1
2
3
4
5
6
7
8
根目录:工程名
|---`src`:源码
|---|---`main`: 存放主程序
|---|---|---`java`:java源码文件
|---|---|---`resource`:存放框架的配置文件
|---|---`test`:存放测试程序
|---`pom.xml`:maven的核心配置文件