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?


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

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

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>
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.