安装父级POM而不构build子模块
我有一个Maven项目中的父POM,具有以下结构:
parent | --------------- | | child1 child2
我想在本地REPO中安装“parent”的POM,以允许child1在dependencyManagement中进行一些更改,但由于“child2”已损坏,无法进行构build, 因此无法进行常规 “全新 安装” 。
这是用maven做这个的正确的方法(除了去父POM和评论“child2”模块)。
在mvn命令中使用'-N'选项。
从mvn -h
:
-N, – 非recursion不要recursion到子项目中
虽然纪尧姆确实是对的,这是正确的select,我个人build议保持你的父母作为一个单独的模块。
我发现inheritance的最好方法如下:
aggregator |- module1/ (extends parent) | |- pom.xml |- module2/ (extends parent) | |- pom.xml |- parent/ | |- pom.xml |- pom.xml
这样,你总是可以安装父母,与mvn clean install
没有额外的选项。
您也可以在聚合器之外拥有父代,以便在更多项目之间重新使用它。
把父母和聚合者作为两个独立的东西是有很多好处的。 但最后,你select什么是最适合你的项目/环境。