我在Maven项目中有一个父POM,具有以下结构:
parent
|
---------------
| |
child1 child2
我想在本地REPO中安装“parent”的POM,以允许 child1 进行一些我在dependencyManagement中所做的更改,但 I无法定期进行“全新安装”,因为“child2”已损坏且无法构建。
使用maven执行此操作的正确方法是什么(除了转到父pom并注释“child2”模块)。
答案 0 :(得分:171)
使用mvn命令中的“-N”选项。
来自mvn -h
:
-N, - 非递归不要递归到子项目
答案 1 :(得分:30)
虽然Guillaume确实是对的,而且这是正确的选择,但我个人建议将您的父母作为一个单独的模块。
我发现继承的最佳方法如下:
aggregator
|- module1/ (extends parent)
| |- pom.xml
|- module2/ (extends parent)
| |- pom.xml
|- parent/
| |- pom.xml
|- pom.xml
这样,您始终只能使用mvn clean install
安装父级,而无需额外选项。
您还可以让聚合器外部的父级,以便您可以在更多项目之间重复使用它。
将父级和聚合器保持为两个独立的东西有很多好处。但最后,您选择最适合您的项目/环境的内容。