Was ist pluginManagement in Maven ist pom.xml?
Dies ist ein Ausschnitt meiner pom-Datei.
....
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
......
</configuration>
</execution>
</executions>
</plugin>
</plugins>
...
Ich nutze es erfolgreich mit dem Befehl
mvn install
Aber, wenn ich versuche, fügen Sie es in die "pluginManagement" - tag, der maven-dependency-plugin
aufhört zu arbeiten, wenn ich starten Sie die install
Ziel.
Warum nicht die "pluginManagement" - tag ändern Sie die build Verhalten? Oder sollte ich ein anderes Ziel oder option?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie noch hinzufügen
in deinem build, da
pluginManagement
ist nur ein Weg, um die gleiche plugin-Konfiguration über alle Projekt-Module.Aus dem Maven-Dokumentation:
Den Unterschied zwischen
<pluginManagement/>
und<plugins/>
ist, dass ein<plugin/>
unter:<pluginManagement/>
definiert die Einstellungen für plugins, die werden vererbt-Module in Ihrem Aufbau. Dies ist ideal für Fälle, wo ein Elternteil pom-Datei.<plugins/>
ist ein tatsächlicher Aufruf des plugins. Es kann oder kann nicht vererbt werden von einem<pluginManagement/>
.Brauchen Sie nicht zu haben
<pluginManagement/>
in Ihrem Projekt, wenn es kein parent-POM. Allerdings, wenn es ein parent-pom, dann in die child-pom, benötigen Sie eine Erklärung wie:Bemerken, wie Sie nicht der Definition jeder Konfiguration. Sie können die Erben Sie von den Eltern erhalten, es sei denn, Sie brauchen, um weiter anpassen, Ihre Aufrufe pro Kind-Projekt braucht.
Weitere spezifische Informationen, die Sie prüfen können:
Maven pom.xml Referenz: Plugins
Maven pom.xml Referenz: Plugin-Management
<dependency/>
und<dependencyManagement/>
. Definieren Sie die Abhängigkeiten (zusammen mit Ihren Versionen und Bereiche, wenn Sie möchten) in die<dependencyManagement/>
Abschnitt und dann in die<dependencies/>
Abschnitt, den Sie gerade definieren, diegroupId
undartifactId
.Verwenden Sie pluginManagement in einer parent-pom konfigurieren Sie es im Falle jedes Kind pom will, es zu benutzen, aber nicht jedes Kind-plugin benutzen möchte. Ein Beispiel kann sein, dass dein super-pom definiert einige Optionen für die maven-Javadoc-plugin. Nicht jedes Kind pom verwenden könnte, Javadoc, so definieren Sie die Standardeinstellungen im pluginManagement Bereich. Das Kind pom, der will, dass die Verwendung der Javadoc-plugin, nur definiert ein plugin Sektion und übernehmen die Konfiguration aus der pluginManagement definition in der parent pom.
Vom http://maven.apache.org/pom.html#Plugin%5FManagement
Kopiert von :
Maven2 - problem mit pluginManagement und Eltern-Kind-Beziehung