Maven 命令完整速查文档
适用场景:Java / Spring / Spring Boot / 多模块 Maven 项目
用途:日常开发、排错、依赖分析、环境切换
记忆原则:生命周期 + 插件目标 + 参数
一、基础生命周期命令(最常用)
mvn clean
清理项目,删除 target 目录
mvn compile
编译主代码(src/main/java)
mvn test
编译并运行测试代码(src/test/java)
mvn package
打包项目(jar / war),不安装到本地仓库
mvn install
打包并安装到本地仓库 ~/.m2/repository
mvn deploy
打包并发布到远程仓库(私服 / Nexus / Artifactory)
二、组合命令(开发中最常见)
mvn clean compile
清理后编译
mvn clean test
清理后运行测试
mvn clean package
清理后打包
mvn clean install
清理 + 编译 + 测试 + 打包 + 安装(最常用)
三、跳过测试(高频使用)
mvn clean package -DskipTests
跳过测试执行,但仍然会编译测试代码
mvn clean install -Dmaven.test.skip=true
完全跳过测试(不编译、不执行),构建最快
四、指定测试类 / 测试方法
mvn test -Dtest=UserServiceTest
只运行指定测试类
mvn test -Dtest=User*Test
运行匹配模式的测试类
mvn test -Dtest=UserServiceTest#testSave
只运行指定测试类中的某个测试方法
五、依赖分析(排错核心)
mvn dependency:tree
查看项目完整依赖树
mvn dependency:tree -Dverbose
显示依赖冲突、重复依赖、被排除的依赖
mvn dependency:tree -Dincludes=groupId:artifactId
查看某个依赖是被谁引入的(排冲突神器)
mvn dependency:list
列出当前项目所有依赖(不显示层级)
mvn dependency:analyze
分析未使用或未声明的依赖
六、POM / 配置分析(高级但非常有用)
mvn help:effective-pom
查看最终生效的 pom.xml(包含父 POM、profile、插件)
mvn help:effective-settings
查看最终生效的 settings.xml(镜像、私服、代理)
mvn help:active-profiles
查看当前激活的 Maven profile
mvn help:all-profiles
查看项目中定义的所有 profile
七、Profile(环境切换)
mvn clean package -Pdev
使用 dev 环境构建
mvn clean package -Ptest
使用 test 环境构建
mvn clean package -Pprod
使用 prod 环境构建
八、插件目标(看起来像“命令”的命令)
mvn spring-boot:run
启动 Spring Boot 项目(开发阶段常用)
mvn help:describe
查看插件的基本信息
mvn help:describe -Dplugin=compiler -Ddetail
查看 maven-compiler-plugin 支持的所有目标和参数
九、调试与日志(查问题必备)
mvn -X install
Debug 模式,输出最详细日志(依赖 / 插件 / 执行顺序)
mvn -e test
输出完整异常堆栈信息
mvn -q package
安静模式,仅输出错误信息
十、仓库 / 网络相关
mvn clean install -U
强制更新 SNAPSHOT 依赖(解决不更新问题)
mvn package -o
离线模式构建(不访问远程仓库)
十一、多模块项目常用
mvn clean install -pl module-name
只构建指定模块
mvn clean install -pl module-name -am
构建指定模块及其依赖模块
十二、查看 Maven 与 Java 版本
mvn -v
查看 Maven 版本、Java 版本、运行环境
mvn -h
查看 Maven 支持的所有全局参数
十三、常见排错组合(直接复制用)
mvn clean install -U -X
依赖问题 + 构建问题的终极排错命令
mvn dependency:tree -Dverbose
依赖冲突排查专用
mvn test -Dtest=XXXTest -X
单元测试失败排错
终极总结
Maven 命令 = 生命周期阶段 + 插件目标 + 命令行参数 记住 install / dependency:tree / effective-pom / -X 90% 问题都能解决