Je souhaite hériter des dépendances d'un (parent) pom.xml
dans un projet enfant dans Maven 2.2.1; c'est-à-dire utiliser l'héritage du projet. Il semble qu'il est nécessaire de changer le type d'emballage par défaut de jar
à pom
dans ce cas. Cependant, the Maven2 documentation n'indique-t-il pas que le type d'emballage pom
est nécessaire pour l'agrégation de projet, c'est-à-dire des projets multimodules qui utilisent des sous-modules, mais pas pour l'héritage de projet?Le type d'emballage 'pom' est-il nécessaire lorsque vous n'utilisez pas l'agrégation de projet (multimodule)?
<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>
Mais si vous appelez Maven (par exemple mvn clean
) avec la configuration ci-dessus, vous obtenez une erreur:
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
D'autre autre part, avec l'entrée suivante:
<project>
...
<packaging>pom</packaging>
...
</project>
dans le parent pom.xml
, Maven peut être exécuté sans aucune erreur.
Est-ce que ce comportement de Maven est correct?