O tipo de embalagem 'pom' é necessário quando não se usa agregação de projeto (multimódulo)?
Eu quero herdar as dependências de um (pai)pom.xml
em um projeto filho no Maven 2.2.1; ou seja, use a herança do projeto. Parece que é necessário alterar o tipo de embalagem padrão dejar
parapom
nesse caso.
No entanto, nãoa documentação do Maven2 declarar que o tipo de embalagempom
é necessário para a agregação de projetos, ou seja, projetos multimodulares que usam submódulos, mas não para herança de projetos?
<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>
Mas se você ligar para o Maven (por exemplo,mvn clean
) com a configuração acima, você recebe um erro:
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
Por outro lado, com a seguinte entrada:
<project>
...
<packaging>pom</packaging>
...
</project>
no paipom.xml
, O Maven pode ser executado sem nenhum erro.
Esse comportamento do Maven está correto?