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


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

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

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

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

2 99

2 ответа:

используйте опцию'- N ' в команде mvn.

С mvn -h:

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

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

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

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

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

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

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