Я бы серьезно пересмотрел добавление зависимостей в «супер» POM, это излишне объединяет проекты (но может намекать на то, что если проекты не несопоставимы, то их все равно следует объединить).
Я думаю, что последний комментарий @lexicore является также острым, чтобы расширить аналогию с ООП, это также похоже на «смешивание уровней абстракции».
Алекс Гительман дает правильный ответ, вам нужно использовать dependencyManagement , как показано здесь Зависимость
Maven3 - это предполагается, что поддерживает фрагменты POM, см. Как использовать миксины Maven 3? , которые я так долго ждал.
У нас есть организация Über POM, но она содержит:
<organization>
<name>...</name>
<url>...</url>
</organization>
<developers>
<developer>
<id>...<id>
<name>...</name>
<email>...</email>
<roles>
<role>...</role>
</roles>
</developer>
<distributionManagement>
...
</distributionManagement>
<repositories>
<!-- your proxy repo here -->
</repositories>
Это вещи, которые меняются очень редко (если мы изменим наше хранилище / управление распределением, тогда все проекты должны измениться, если разработчик покинет или присоединится, мы можем обновить POM проекта в любое удобное время).
Зависимости относятся конкретно к рассматриваемому модулю, просто потому, что два независимых проекта имеют общие зависимости, не означает, что они всегда будут. Я полностью понимаю раздражение, возникающее из-за необходимости копировать «n» вставки групп XML для каждого проекта (плагин компилятора, плагины отчетности, junit и т. Д.), Но разные уровни активности в каждом проекте наверняка означают, что в какой-то момент они расходятся.
Каскад WRT строится в режиме непрерывной интеграции, если проект А требует изменения POM супер-зависимостей, тогда все вам придется перестраивать другие проекты - возможно, хорошо, если у вас всего 2 проекта, но даже Затем вы проверяли и строили оба, прежде чем вносить изменения?