Что представляет собой родительский тег в maven pom?
например:.
<parent>
<groupId>mycompany.trade.com</groupId>
<artifactId>mycompany.trade.</artifactId>
<version>1.1.1.0-SNAPSHOT</version>
</parent>
Означает ли это, что Maven будет искать родительский pom?
Если да, то где, в каком порядке? Может быть в папке 1 уровень? Или в локальном репозитории или в репо?
Спасибо.
Ответы
Ответ 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>