Я хочу наследовать зависимости (родителя) pom.xml в дочернем проекте в Maven 2.2.1; т.е. использовать наследование проекта. Кажется, что в этом случае необходимо изменить тип упаковки по умолчанию от jar до pom.
Однако, документация Maven2 указывает, что тип упаковки pom необходим для агрегации проекта, то есть многомодульные проекты, которые используют подмодули, но не для наследования проекта?
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>example</groupId>
<artifactId>example-parent</artifactId>
<version>1</version>
<dependencies>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.14</version>
</dependency>
</dependencies>
</project>
<project>
<parent>
<groupId>example</groupId>
<artifactId>example-parent</artifactId>
<version>1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>example</groupId>
<artifactId>example-child</artifactId>
</project>
Но если вы вызываете Maven (например, mvn clean) с указанной выше конфигурацией, вы получаете сообщение об ошибке:
Project ID: example:example-child
Reason: Parent: example:example-parent:jar:1
of project: example:example-child has wrong packaging: jar.
Must be 'pom'. for project example:example-child
С другой стороны, со следующей записью:
<project>
...
<packaging>pom</packaging>
...
</project>
в родительском pom.xml, Maven может быть выполнен без каких-либо ошибок.
Правильно ли это поведение Maven?