Установка родительского ПОМ без создания дочерних модулей

У меня есть родительский POM в проекте Maven, с этой структурой:

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

Я хочу установить POM "parent" в локальном REPO, чтобы разрешить child1 вносить некоторые изменения, которые я сделал в dependencyManagement, но я не могу выполнить обычную "чистую установку" , потому что "child2" сломан и не будет строить.

Каков правильный способ сделать это с помощью maven (кроме перехода к родительскому pom и комментированию модуля child2).

Ответ 1

Используйте команду "-N" в команде mvn.

От mvn -h:

-N, - нерекурсивный Не переписывать в подпроекты

Ответ 2

Хотя Гийом действительно прав, и это правильный вариант, я бы лично рекомендовал сохранить ваш родитель в качестве отдельного модуля.

Я считаю, что наилучшим подходом для наследования является следующее:

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

Таким образом, вы всегда можете установить родительский, mvn clean install без дополнительных параметров.

Вы также можете иметь родителя вне агрегатора, чтобы вы могли повторно использовать его между большим количеством проектов.

Существует множество преимуществ для сохранения родителя и агрегатора как двух отдельных вещей. Но, в конце концов, вы выбираете, что лучше всего подходит для вашего проекта/среды.