Skip to content

Maven 命令参数及示例说明

命令参数

# 离线模式,相当于以本地模式执行
mvn -o | mvn clean install -o

# 禁用递归查找 pom.xml,多 module 工程中可以用来单独 install 'parent'
mvn -N | mvn clean install -N

# 禁用交互模式(听说在 jenkins 上可以禁止输出下载进度?)
mvn -B | mvn clean install -B

# 多 module 工程中指定打包某个 module 和其依赖的 module,若指定多个以逗号分隔
mvn -pl xxx -am | mvn clean package -pl xxx-api -am

# 多 module 工程中指定从某个 module 开始构建,可以和 -pl 联用
mvn -rf | mvn clean package -rf xxx-api

# 异常时打印堆栈
mvn -e

# 开启 debug 模式,打开后日志茫茫多,包括 -e 的内容
mvn -X

# 开启多线程构建,'C' 代表 cpu 核数,'0.5C' 表示有 core/2 个线程,'4' 表示固定 4 个线程
mvn -T 0.5C | mvn -T 4

# 指定 pom.xml 文件路径
mvn -f

# 指定 settings.xml 文件路径
mvn -s

# 强制更新依赖
mvn -U

# 强制更新插件
mvn -up

# 禁止更新依赖
mvn -nsu

# 禁止更新插件
mvn -npu

# 激活 profile
mvn -P

# 开启静默模式,只输出异常,某些场景下非常有用
mvn -q | mvn help:evaluate -q -DforceStdout -Dexpression=project.version

常用命令

# 打包并拷贝依赖的 jar 包到 target/dependency 下
mvn clean package dependency:copy-dependencies -DincludeScope=compile -DskipTests=true -Dmaven.source.skip=true

# 查看当前激活的 profiles
mvn help:active-profiles

# 获取 pom.xml 中某个变量的值
mvn help:evaluate -q -DforceStdout -Dexpression=project.version

# 排查 jenkins 问题
mvn -B -U -V -s /media/disk1/fordata/jenkins/tools/maven/conf/settings.xml clean help:active-profiles help:effective-settings help:system -DshowPasswords=true

# release
release:clean release:prepare release:perform -B -N -Darguments="-B -U"

# 生成模块化工程
mvn archetype:generate -DarchetypeGroupId=kuaishou -DarchetypeArtifactId=java-archetype -DarchetypeVersion=1.0-SNAPSHOT -DarchetypeCatalog=local -DgroupId=com.kuaishou.examples -DartifactId=kuaishou-java-code-examples -Dversion=1.0.0-SNAPSHOT -Dpackage=com.kuaishou.examples

# 查看 maven 插件的文档
mvn help:describe -Dplugin=war -Dfull=true -Dversion=3.0.0