安装父POM而不构建子模块

时间:2012-02-29 14:00:10

标签: java maven maven-2 pom.xml

我在Maven项目中有一个父POM,具有以下结构:

             parent
               |
        ---------------
        |             |
      child1       child2

我想在本地REPO中安装“parent”的POM,以允许 child1 进行一些我在dependencyManagement中所做的更改,但 I无法定期进行“全新安装”,因为“child2”已损坏且无法构建。

使用maven执行此操作的正确方法是什么(除了转到父pom并注释“child2”模块)。

2 个答案:

答案 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安装父级,而无需额外选项。

您还可以让聚合器外部的父级,以便您可以在更多项目之间重复使用它。

将父级和聚合器保持为两个独立的东西有很多好处。但最后,您选择最适合您的项目/环境的内容。