在不构建子模块的情况下安装父 POM

2022-08-31 08:30:10

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

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

我想在本地 REPO 中安装“父”的 POM,以允许 child1 执行我在依赖项管理中所做的一些更改,但我无法执行常规的“干净安装”,因为“child2”已损坏并且不会生成。

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


答案 1

使用 mvn 命令中的“-N”选项。

从:mvn -h

-N,--非递归 不递归到子项目中


答案 2

虽然纪尧姆确实是对的,这是正确的选择,但我个人建议将你的父母作为一个单独的模块。

我发现继承的最佳方法如下:

aggregator
|- module1/ (extends parent)
| |- pom.xml
|- module2/ (extends parent)
| |- pom.xml
|- parent/
| |- pom.xml
|- pom.xml

这样,您始终可以仅安装父级,而无需其他选项。mvn clean install

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

将父级和聚合器保留为两个独立的事物有许多好处。但最终,您需要选择最适合您的项目/环境的内容。


推荐