Подтвердить что ты не робот

Что представляет собой родительский тег в maven pom?

например:.

    <parent>
    <groupId>mycompany.trade.com</groupId>
    <artifactId>mycompany.trade.</artifactId>
    <version>1.1.1.0-SNAPSHOT</version>
</parent>

Означает ли это, что Maven будет искать родительский pom? Если да, то где, в каком порядке? Может быть в папке 1 уровень? Или в локальном репозитории или в репо?

Спасибо.

4b9b3361

Ответ 1

Да, maven читает родительский POM из вашего локального репозитория (или прокси, например nexus) и создает "эффективный POM", объединяя информацию от родителя и модуль POM.

См. также Введение в POM

Одна из причин использования родителя заключается в том, что у вас есть центральное место для хранения информации о версиях артефактов, параметров компилятора и т.д., которые должны использоваться во всех модулях.

Ответ 2

Общие зависимости, свойства, константы и т.д. можно отбросить в центральном родительском проекте pom.xml

Главное, что родительский проект не может быть распространен, и он выглядит более похожим на обычный pom.xml, за исключением тега упаковка

    <groupId>com.company.demo</groupId>
    <artifactId>MavenInheritance</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>pom</packaging>

Теперь ребенок может наследовать это с помощью

   <parent>
        <groupId>com.company.demo</groupId>
        <artifactId>MavenInheritance</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>