常用命令行参数
Maven 命令行参数灵活控制构建行为。
-D 参数
传递系统属性
Bash
mvn package -Dmaven.test.skip=true
mvn package -DskipTests
mvn compile -Dmaven.compiler.source=17
自定义属性
Bash
mvn package -Denv=prod
pom.xml 中引用:
XML
<properties>
<env>dev</env>
</properties>
-P 参数
激活 Profile
Bash
mvn package -Pdev
mvn package -Pprod
mvn package -Pdev,test
多 Profile 激活
Bash
mvn package -Pprofile1,profile2
-o 参数
离线模式
Bash
mvn package -o
仅使用本地仓库,不访问远程仓库。
适用场景
| 场景 | 说明 |
|---|---|
| 无网络 | 网络断开时构建 |
| 加速 | 避免网络请求 |
| CI/CD | 依赖已预下载 |
-U 参数
强制更新 SNAPSHOT
Bash
mvn clean install -U
检查所有 SNAPSHOT 依赖更新。
效果
- 忽略本地缓存
- 重新下载 SNAPSHOT
- 更新插件 SNAPSHOT
-e 参数
显示错误堆栈
Bash
mvn package -e
输出完整错误堆栈信息。
-X 参数
调试日志
Bash
mvn package -X
输出详细调试信息,用于问题排查。
组合使用
Bash
mvn package -e -X
-q 参数
安静模式
Bash
mvn package -q
仅输出错误信息。
-f 参数
指定 POM 文件
Bash
mvn package -f /path/to/pom.xml
mvn package -f subproject/pom.xml
-s 参数
指定 settings.xml
Bash
mvn package -s /path/to/settings.xml
mvn package -s ~/.m2/custom-settings.xml
-pl 参数
指定模块构建
Bash
# 构建指定模块
mvn package -pl module-a
# 构建多个模块
mvn package -pl module-a,module-b
-am 参数
构建依赖模块
Bash
mvn package -pl module-b -am
构建 module-b 及其依赖的模块。
-amd 参数
构建依赖者模块
Bash
mvn package -pl module-a -amd
构建 module-a 及依赖它的模块。
-rf 参数
从指定模块开始
Bash
mvn package -rf module-c
从 module-c 开始构建。
-T 参数
并行构建
Bash
# 指定线程数
mvn package -T 4
# 每核心线程数
mvn package -T 1C
mvn package -T 2C
参数汇总表
| 参数 | 说明 |
|---|---|
| -D | 传递属性 |
| -P | 激活 Profile |
| -o | 离线模式 |
| -U | 强制更新 SNAPSHOT |
| -e | 显示错误堆栈 |
| -X | 调试日志 |
| -q | 安静模式 |
| -f | 指定 POM 文件 |
| -s | 指定 settings.xml |
| -pl | 指定模块 |
| -am | 构建依赖模块 |
| -amd | 构建依赖者模块 |
| -rf | 从指定模块开始 |
| -T | 并行构建线程数 |
组合使用示例
常见组合
Bash
# 跳过测试打包
mvn clean package -DskipTests
# 生产环境构建
mvn clean package -Pprod -DskipTests
# 离线构建指定模块
mvn package -pl module-a -o
# 调试多模块并行构建
mvn clean install -T 4 -X -e
# 更新快照后构建
mvn clean install -U -Pdev
要点总结
- -D 传递属性,-P 激活 Profile
- -o 离线模式,-U 强制更新
- -e 显示错误,-X 调试日志
- -pl 指定模块,-am/-amd 控制依赖
- -T 并行构建加速
- 组合参数实现灵活构建
📝 发现内容有误?点击此处直接编辑