Maven Lifecycle 生命周期各阶段含义

Maven 一套标准构建流程,从上到下顺序执行,执行后面命令会自动先跑完前面所有阶段。

1. clean(清理)

删除项目 target 目录,清空之前编译、打包生成的 class、jar 包等产物。 执行 mvn clean = 只清理,不编译打包。

2. validate(校验)

校验项目基础信息、依赖、配置是否合法,项目基本结构是否完整。

3. compile(编译)

src/main/java 下 Java 代码编译成 .class 文件,输出到 target/classes

4. test(单元测试)

执行 src/test/java 单元测试用例(JUnit/TestNG),测试失败会中断构建。

5. package(打包)

把编译后的 class、配置文件打包成产物:

  • SpringBoot 项目 → jar 包
  • Web 项目 → war 包 产物放在 target 文件夹。

6. verify(校验)

执行集成测试、质量校验(如代码覆盖率、静态代码检查),验证包是否合格。

7. install(安装,你图中高亮选中)

  1. 先自动执行前面所有步骤:clean → validate → compile → test → package → verify
  2. 把打好的 jar/war 包,安装到本地 Maven 仓库
  3. 同工程其他模块就能直接引用这个包作为依赖。 日常开发多模块项目,经常用 mvn install

8. site(生成站点文档)

生成项目文档、依赖报告、测试报告等网页文档,基本很少用。

9. deploy(部署)

  1. 先走完前面全部流程
  2. 将包上传到远程私有仓库(Nexus/Maven 私服),给团队其他开发 / 线上环境拉取使用。

常用操作举例

  1. 清理 + 重新打包到本地仓库:mvn clean install
  2. 只打包不跑单元测试:mvn clean package -DskipTests
  3. 上传到私服:mvn clean deploy
相关推荐
接着奏乐接着舞2 小时前
大模型开发 agent 知识库
java
xuhaoyu_cpp_java2 小时前
SpringBoot学习(四)
java·经验分享·spring boot·笔记·学习
plainGeekDev3 小时前
kapt 替换为 KSP
android·java·kotlin
蜡台3 小时前
通过Gradle脚本声明更改Java变量
android·java·开发语言·python·kotlin·gradle·groovy
程序员天天困3 小时前
后端视角看 EventBus:发布订阅总线的原理、场景与用法
java·后端
要开心吖ZSH3 小时前
AI医疗分诊与健康咨询助手agent开发——(4-2)从零到一:我给AI医疗分诊助手加了个“知识库大脑“,终于搞懂了RAG是什么
java·docker·agent·医疗·rag
AI人工智能+电脑小能手4 小时前
【大白话说Java面试题 第179题】【07_Redis篇】第15题:什么是 Redlock 算法?
java·redis·分布式锁·高可用·redlock
怎么比啊都是大神5 小时前
关于==null、isEmpty()和StrUtil.isBlank()
java
唐青枫5 小时前
Java Neo4j 实战指南:从图模型、Cypher 到 Spring Boot 关系查询
java
观远数据5 小时前
从离线开发到实时同步:DataFlow如何支撑企业级数据治理闭环
java·windows·microsoft·excel