Maven笔记整理
Maven笔记整理
Project Object Model
Project Object Model (POM) 是 Maven 项目配置的核心概念。在 Maven
项目中,POM 通过一个名为 pom.xml
的 XML
文件表示。它包含了项目的基本信息和配置详情,如项目名称、版本、依赖项、插件、目标等。POM
使得项目的构建过程变得透明化,并且可重复,确保了持续集成和部署的一致性。
下面是 POM 中一些关键部分的概述:
基本信息:包括项目的坐标,即
groupId
,artifactId
, 和version
。这些元素唯一地定义了项目在仓库中的位置。依赖管理:在
<dependencies>
部分定义项目所需的库。每个依赖项都有其自己的坐标和范围,指明了库在项目生命周期中的使用阶段。插件和目标:
<build>
部分中的<plugins>
定义了项目构建过程中使用的插件及其配置。这些插件可以绑定到生命周期的不同阶段上。属性:可以定义一些属性来简化配置,例如,可以指定编译器版本或者文件编码方式。
构建配置:如源码路径、测试路径、输出文件等也在 POM 中配置。
构建生命周期:POM 文件定义了项目的构建生命周期,包括编译、测试、打包和部署等阶段。
项目继承:通过
<parent>
元素,POM 可以继承另一个 POM 的配置。这在多模块项目中特别有用。项目聚合:通过
<modules>
元素,可以定义项目的子模块,允许一次性构建多个模块。仓库管理:指定项目使用的仓库地址,用于依赖项的下载和项目成果的上传。
配置管理:可以包括对源代码管理系统的引用。
命令
在实际开发过程中,经常使用的命令有: -
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 | 根目录:工程名 |