Wie können Sie den Maven-Abhängigkeitsbaum für die * Plugins * in Ihrem Projekt anzeigen?

130

Eine gängige Maven-Debugging-Technik ist die Verwendung von mvn dependency: tree , um das Diagramm der Projektabhängigkeiten anzuzeigen.

Diese Liste zeigt jedoch die Projektabhängigkeiten und nicht den Plugin-Abhängigkeitsbaum für jedes Plugin. Gibt es eine Möglichkeit, dies von einem Projekt aus zu tun?

Alex Miller
quelle
1
Haben Sie versucht, mvn -X ...
khmarbaise
Ja, und das ist hilfreich für bestimmte Probleme, aber nicht das, wonach ich frage.
Alex Miller
Es enthält die Abhängigkeiten eines Plugins, sonst ist so etwas nicht verfügbar.
Khmarbaise
@khmarbaise ist richtig. Der Abhängigkeitsbaum eines Plugins ist in der Debugging-Ausgabe von Maven verfügbar. Ich kenne auch keinen anderen Weg, um es zu bekommen. (Wenn Sie dies in eine Antwort verwandeln, werde ich es positiv bewerten.)
Ryan Stewart
Siehe auch stackoverflow.com/q/312767/32453
rogerdpack

Antworten:

102

Die Ausgabe über mvn -X druckt die Informationen indirekt aus. Derzeit gibt es keine andere Möglichkeit, die Abhängigkeiten eines Maven-Plugins abzurufen.

Aktualisieren Mit dem folgenden Befehl können Sie eine Liste der Plugin-Abhängigkeiten abrufen ( Ziel des Auflösungs-Plugins vom Abhängigkeits-Plugin):

mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:resolve-plugins

Die kürzere Version ist (und es ist eine schlechte Angewohnheit, Plugin-Versionen anzugeben)

mvn dependency:resolve-plugins
khmarbaise
quelle
14
Auflösungs-Plugins geben nicht nur den Abhängigkeitsbaum aus, sondern scheinen alle Pakete erneut herunterzuladen. Nicht ideal.
Reinderien
5
Das Plugin berücksichtigt keine überschreibenden Plugin-Abhängigkeiten in pom.xml (Tag <build><plugins><plugin><dependencies><dependency>)
amra
zur Verwendung der letzten Plugin-Version: mvn org.apache.maven.plugins: maven-dependency-plugin: 2.10: Auflösung-Plugins
STB Land
Standardmäßig lädt Maven das Abhängigkeits-Plugin Version 2.something. Persönlich habe ich mit der 3.x-Version bessere Ergebnisse erzielt.
Dragas
-3

Wenn Sie eine IDE wie IDEA IntelliJ oder Eclipse verwenden:

  • Sie können dieses Plugin unten in Ihre pom.xml einfügen
  • Sobald Sie fertig sind, finden Sie im Maven-Fenster (rechts von IDE) ein neues Plugin namens Dependencies
  • Erweitern Sie das und Sie sehen das Abhängigkeitsbaumziel. Doppelklicken Sie darauf und führen Sie es aus. Sie sollten den vollständigen Abhängigkeitsbaum sehen

Plugin zum Hinzufügen in POM:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>
Dean Jain
quelle