一、核心生命周期命令
Maven的命令遵循生命周期概念,执行某个阶段会自动执行之前的所有阶段。
1. Clean 生命周期
mvn clean # 清理target目录
2. Default 生命周期(按顺序)
mvn validate # 验证项目配置
mvn compile # 编译源代码
mvn test # 运行单元测试
mvn package # 打包(jar/war)
mvn verify # 运行检查验证
mvn install # 安装到本地仓库
mvn deploy # 部署到远程仓库
3. Site 生命周期
mvn site # 生成项目站点文档
二、命令之间的关联关系
阶段包含关系
执行后面的阶段会自动执行前面的阶段:
validate → compile → test → package → verify → install → deploy
示例:
mvn package= validate + compile + test + packagemvn install= validate + compile + test + package + verify + installmvn deploy= 执行完整的生命周期
常用组合命令
mvn clean compile # 先清理再编译
mvn clean test # 先清理再测试
mvn clean package # 先清理再打包(最常用)
mvn clean install # 先清理再安装到本地仓库
mvn clean deploy # 先清理再部署到远程仓库
三、常用参数选项
-DskipTests # 跳过测试执行(但编译测试代码)
-Dmaven.test.skip=true # 完全跳过测试(不编译也不执行)
-U # 强制更新依赖
-o # 离线模式
-X # 显示调试信息
-e # 显示详细错误信息
-P <profile> # 激活指定的profile
-pl <module> # 指定构建某个模块
-am # 同时构建依赖模块
-T <threads> # 多线程构建
四、依赖管理命令
mvn dependency:tree # 查看依赖树
mvn dependency:analyze # 分析依赖使用情况
mvn dependency:resolve # 解析依赖
mvn dependency:purge-local-repository # 清除本地仓库
五、实用工具命令
mvn versions:display-dependency-updates # 检查依赖更新
mvn versions:display-plugin-updates # 检查插件更新
mvn help:effective-pom # 查看有效POM
mvn archetype:generate # 创建项目骨架
六、典型使用场景
日常开发
mvn clean compile # 编译代码
mvn clean test # 运行测试
mvn clean package # 打包应用
发布版本
mvn clean install # 安装到本地仓库供其他项目使用
mvn clean deploy # 发布到远程仓库
快速构建
mvn clean package -DskipTests # 打包但跳过测试
mvn clean install -Dmaven.test.skip=true # 安装但完全跳过测试
多模块项目
mvn clean install -pl module-a # 只构建module-a
mvn clean install -pl module-a -am # 构建module-a及其依赖
mvn clean install -T 4 # 使用4线程并行构建
七、命令执行流程图
mvn clean package 的执行流程:
├─ clean阶段
│ └─ 删除target目录
│
└─ default生命周期
├─ validate(验证项目)
├─ compile(编译src/main/java)
├─ test-compile(编译src/test/java)
├─ test(运行测试)
└─ package(打包成jar/war)
八、常见问题排查命令
mvn clean install -X # 调试模式,查看详细日志
mvn clean install -e # 显示完整错误堆栈
mvn dependency:tree -Dverbose # 查看依赖冲突
掌握这些命令及其关联关系,可以高效地进行Maven项目构建和管理。最核心的理解是:Maven命令遵循生命周期,后面的阶段会自动执行前面的阶段。
正文完
