Maven 命令速查表
基于日常开发高频场景整理,覆盖构建、依赖分析、插件使用等核心操作。
项目构建
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| mvn clean package -DskipTests
mvn clean install
mvn compile
mvn test-compile
mvn test
mvn package
mvn deploy
|
跳过测试的两种方式
1 2 3 4 5
| mvn package -DskipTests
mvn package -Dmaven.test.skip=true
|
依赖分析
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| mvn dependency:tree
mvn dependency:tree -Dincludes=io.projectreactor
mvn dependency:tree -Dincludes=com.fasterxml.jackson.core:jackson-databind
mvn dependency:tree -Dverbose
mvn dependency:tree -DoutputFile=deps.txt
mvn dependency:analyze
mvn dependency:list
mvn dependency:copy-dependencies
|
多模块项目依赖分析
1 2 3 4 5
| mvn dependency:tree -pl <module-name>
mvn dependency:tree -pl <module-name> -Dincludes=io.projectreactor
|
-pl 仅适用于多模块项目(父 POM 包含 <modules> 声明)。单模块项目不需要此参数。
插件与帮助
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| mvn help:effective-pom
mvn help:effective-settings
mvn help:describe -Dplugin=compiler mvn help:describe -Dplugin=surefire -Ddetail
mvn help:active-profiles
mvn help:evaluate -Dexpression=project.version -q -DforceStdout
|
Profile 管理
1 2 3 4 5 6 7 8
| mvn package -P dev
mvn package -P dev,docker
mvn help:all-profiles
|
版本与属性
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| mvn help:evaluate -Dexpression=project.version -q -DforceStdout
mvn help:evaluate -Dexpression=maven.compiler.source -q -DforceStdout
mvn versions:set -DnewVersion=2.0.0
mvn versions:display-dependency-updates
mvn versions:display-plugin-updates
|
Spring Boot 项目
1 2 3 4 5 6 7 8
| mvn spring-boot:run
mvn spring-boot:run -Dspring-boot.run.profiles=dev
mvn clean package spring-boot:repackage
|
Maven Wrapper(mvnw)
项目自带的 Maven 版本管理,不依赖全局安装:
1 2 3 4 5 6 7 8
| mvn wrapper:wrapper
mvn wrapper:wrapper -Dmaven=3.9.6
./mvnw clean package
|
常用组合技
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| mvn clean package -DskipTests -Dmaven.javadoc.skip=true
mvn package -o
mvn package -U
mvn package -pl <module> -am
mvn package -T 4 mvn package -T 1C
mvn package -X
|
参数速查
| 参数 |
作用 |
-pl <module> |
指定构建的子模块 |
-am |
同时构建所依赖的模块 |
-amd |
同时构建依赖于该模块的模块 |
-rf <module> |
从指定模块开始继续构建(构建失败后恢复) |
-DskipTests |
跳过测试执行 |
-Dmaven.test.skip=true |
跳过测试编译和执行 |
-U |
强制更新 SNAPSHOT |
-o |
离线模式 |
-X |
调试输出 |
-q |
静默模式,只输出错误 |
-T <n> |
并行构建线程数 |
-P <profile> |
激活 profile |
-f <pom> |
指定 POM 文件路径 |
本地仓库管理
1 2 3 4 5 6 7 8 9 10 11 12 13
| ~/.m2/repository
rm -rf ~/.m2/repository/com/example/some-artifact
mvn install:install-file \ -Dfile=lib/custom.jar \ -DgroupId=com.example \ -DartifactId=custom \ -Dversion=1.0.0 \ -Dpackaging=jar
|