Что представляет собой Родительский тег в Maven pom?
например:
<parent>
<groupId>mycompany.trade.com</groupId>
<artifactId>mycompany.trade.</artifactId>
<version>1.1.1.0-SNAPSHOT</version>
</parent>
означает ли это, что Maven будет искать Родительский pom? Если да, то где, в каком порядке? Может быть в папке 1 уровня? Или в локальном репозитории или в репо?
спасибо.
2 ответов
да, maven считывает Родительский POM из вашего локального репозитория (или прокси, например nexus) и создает "эффективный POM" путем слияния информации от родителя и модуля POM.
см. также введение в POM
одна из причин использования родителя заключается в том, что у вас есть центральное место для хранения информации о версиях артефактов, компилятор-настройки и т. д. это должно использоваться во всех модулях.
общие зависимости, свойства, константы и т. д. могут быть определены в Центральном Родительском проекте pom.в XML
главное, что родительский проект не может быть распространен, и он выглядит более похожим на обычный pom.xml кроме него упаковка tag
<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>