Maven pom наследование и переопределение в родительском дочернем модуле - PullRequest
2 голосов
/ 05 апреля 2019

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

Давайте рассмотрим пример, чтобы понять:

Например, каждая зависимость уникально идентифицируется с помощью координат maven.В дочернем pom, если у зависимости есть maven координата, отличная от зависимостей в родительском pom, переопределение не происходит, и родительские зависимости также добавляются в дочерний pom.

Здесь у нас был критерий уникальной идентификации элемента в нашемmaven xml, который помог нам определить, произойдет ли переопределение.

Другой пример:

Давайте рассмотрим еще один пример тега <license>.Проведя некоторый эксперимент с использованием эффективного pom, я узнал, что <licenses> наследуются.

<licenses>
    <license>
        <name>The Apache Software License, Version 2.0</name>
        <url>http://www.apache.org/licenses/LICENSE-3.0.txt</url>
        <distribution>repo</distribution>
    </license>
</licenses>

Но если я изменю любой из <name>, <url>, <distribution>, произойдет переопределение.

Существуют ли какие-либо четкие правила, когда происходит переопределение и когда это не происходит (а родительские элементы добавляются к дочерним элементам), не генерируя эффективный pom каждый раз и не проверяя его?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...