Maven 的构建生命周期(Build Lifecycle)是一系列有序的阶段(Phase),每个阶段代表构建过程中的一个步骤。Maven 定义了三套相互独立的生命周期:clean、default 和 site。
1. Clean 生命周期: 用于清理项目,包含三个阶段:
- pre-clean:执行清理前的工作
- clean:删除上一次构建生成的文件(target 目录)
- post-clean:执行清理后的工作
2. Default 生命周期: 这是最常用的生命周期,包含约 20 个阶段,主要阶段包括:
- validate:验证项目是否正确,所有必要信息是否可用
- compile:编译项目的源代码
- test:使用合适的单元测试框架测试编译后的源代码
- package:将编译后的代码打包成可分发的格式(JAR、WAR 等)
- integration-test:在集成环境中处理和发布包
- verify:运行检查验证包是否有效且符合质量标准
- install:将包安装到本地仓库,供本地其他项目使用
- deploy:将最终的包复制到远程仓库,供其他开发者和项目共享
3. Site 生命周期: 用于生成项目站点文档,包含:
- pre-site:执行生成站点前的工作
- site:生成项目站点文档
- post-site:执行生成站点后的工作
- site-deploy:将生成的站点部署到服务器
生命周期执行规则:
- 执行某个阶段时,其之前的所有阶段都会自动执行
- 不同生命周期之间相互独立,执行一个生命周期不会影响其他生命周期
- 可以通过
mvn phase命令执行特定阶段,如mvn clean install
实际应用:
- 开发阶段:
mvn compile编译代码 - 测试阶段:
mvn test运行测试 - 打包阶段:
mvn package打包应用 - 本地安装:
mvn install安装到本地仓库 - 完整构建:
mvn clean package清理并打包 - 部署:
mvn deploy部署到远程仓库
理解 Maven 生命周期对于自动化构建、持续集成和项目部署至关重要。