mvn install -N仅仅构建当前目录下父POM下模块
命令
| 部分 | 含义 |
|---|---|
mvn |
调用 Maven 命令行工具 |
install |
执行 install 生命周期阶段,将构建的产物(jar、pom 等)安装到本地仓库中 |
-N 或 --non-recursive |
表示 不递归构建子模块(Non-recursive build) |
效果
当项目是一个 多模块(multi-module)Maven 项目 时,
运行:
1 | mvn install |
会递归构建所有子模块。
而:
1 | mvn install -N |
只会构建 当前目录下的父 POM(聚合模块),不会进入子模块构建。
场景
安装父 POM 到本地仓库
在多模块项目中,子模块的
pom.xml通常依赖父 POM。如果父 POM 没有先安装到本地仓库,子模块构建时会报:
Could not find artifact xxx:pom:version所以先执行:
1
mvn install -N
把父 POM 安装进本地仓库,再构建子模块。
快速更新父 POM
- 仅更新版本或依赖管理部分时,不需要重编译整个项目。
验证父 POM 结构
- 检查依赖管理、插件管理部分是否正确。
示例
假设你的目录结构:
metersphere/
├── pom.xml # 父 POM
├── metersphere-api/
│ └── pom.xml
└── metersphere-ui/
└── pom.xml
构建步骤应为:
1 | # 1. 安装父 POM |
小结
| 命令 | 说明 |
|---|---|
mvn install |
递归构建当前项目及所有子模块 |
mvn install -N |
只构建当前目录(通常为父 POM),不构建子模块 |