Нужен ли тип упаковки «pom», когда не используется агрегация проектов (многомодульная)?

Я хочу наследовать зависимости (родителя)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.xmlMaven может быть выполнен без каких-либо ошибок.

Это поведение Maven правильно?

Ответы на вопрос(3)

Ваш ответ на вопрос