Ich möchte die Abhängigkeiten eines (Eltern) pom.xml
in einem untergeordneten Projekt in Maven 2.2.1 erben; d. h., Vererbung von Projekten Es scheint, dass es notwendig ist, in diesem Fall den Standard-Verpackungstyp von jar
zu pom
zu ändern.Wird der Verpackungstyp 'pom' benötigt, wenn keine Projekt-Aggregation (Multimodul) verwendet wird?
Allerdings gibt the Maven2 documentation nicht an, dass der Verpackungstyp pom
für Projektaggregation erforderlich ist, d. H. Multimodulprojekte, die Submodule verwenden, aber nicht für die Projektvererbung?
<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>
Aber wenn Sie Maven aufrufen (zB mvn clean
) mit der oben beschriebenen Konfiguration, erhalten Sie eine Fehlermeldung:
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
Auf anderen dagegen mit folgendem Eintrag:
<project>
...
<packaging>pom</packaging>
...
</project>
Im Elternteil pom.xml
kann Maven ohne Fehler ausgeführt werden.
Ist dieses Verhalten von Maven korrekt?