Maven 常用命令及关联关系

一、核心生命周期命令

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 + package
  • mvn install = validate + compile + test + package + verify + install
  • mvn 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命令遵循生命周期,后面的阶段会自动执行前面的阶段

正文完
 0
评论(没有评论)
验证码