Maven 的各生命周期概念、阶段、作用(clean, validate, compile, test, package, verify, intstall, site, deploy) 一文详解。
Maven 生命周期详解

Maven 的构建过程是由 生命周期(Lifecycle) 控制的,每个生命周期包含多个 阶段(Phase)。一个完整的构建流程大致如下:
1. Clean Lifecycle
作用:清理上一次构建生成的文件。
阶段:
pre-clean:执行清理前的准备工作clean:删除target目录post-clean:清理后的收尾操作
示例:
mvn clean
通俗解释:就像打扫房间,把旧的产物(target 文件夹)全部清理掉,为新的构建腾出空间。
2. Default Lifecycle
这是 Maven 最常用的生命周期,包括 编译、测试、打包、安装、部署等阶段。
2.1 validate
作用:验证项目是否正确、必要信息是否齐全。
示例:
mvn validate
通俗解释:就像开工前检查材料和工具是否准备齐全。
2.2 compile
作用:编译项目源代码(src/main/java)。
示例:
mvn compile
通俗解释:把写好的 Java 源代码编译成 .class 文件。
2.3 test
作用:使用测试框架(如 JUnit)对编译好的代码进行单元测试(src/test/java)。
示例:
mvn test
通俗解释:像 QA 测试员一样检查你的程序有没有逻辑错误。
2.4 package
作用:将编译好的代码打包成 JAR/WAR 文件。
示例:
mvn package
通俗解释:就像把成品装箱打包,准备分发。
2.5 verify
作用:执行集成测试,验证软件包是否满足质量要求。
示例:
mvn verify
通俗解释:不仅单元测试通过,还要确认整个系统在集成后能正常工作。
2.6 install
作用:将打包好的 JAR/WAR 安装到本地 Maven 仓库(默认 ~/.m2/repository),供其他项目使用。
示例:
mvn install
通俗解释:把成品放到自己的仓库,就像放到自己的工具箱里,方便其他项目取用。
2.7 deploy
作用:将打包好的软件部署到远程仓库(例如公司 Nexus、Artifactory)。
示例:
mvn deploy
通俗解释:把你的软件正式发到远程仓库,团队其他成员就可以使用了。
3. Site Lifecycle
作用:生成项目文档站点。
阶段:
pre-site:站点生成前准备site:生成站点(文档、报告)post-site:站点生成后处理site-deploy:将站点部署到服务器
示例:
mvn site
通俗解释:自动生成项目文档、测试报告、依赖分析等,就像做一个项目展示网站。
4. 生命周期顺序总结
| 生命周期阶段 | 作用 | 示例 |
|---|---|---|
| clean | 清理旧文件 | mvn clean |
| validate | 校验项目配置 | mvn validate |
| compile | 编译源码 | mvn compile |
| test | 单元测试 | mvn test |
| package | 打包 JAR/WAR | mvn package |
| verify | 集成测试 | mvn verify |
| install | 安装到本地仓库 | mvn install |
| deploy | 部署到远程仓库 | mvn deploy |
| site | 生成项目文档 | mvn site |
通俗理解:
- clean → 打扫房间
- validate → 检查工具
- compile → 写好的代码编译成可用程序
- test → QA 测试程序
- package → 打包成箱子
- verify → 集成检查
- install → 放到自己仓库
- deploy → 发到远程仓库
- site → 做一个项目展示网站

浙公网安备 33010602011771号