Как вы можете отобразить дерево зависимостей Maven для * плагинов * в вашем проекте?

130

Распространенным методом отладки Maven является использование mvn dependency: tree для просмотра графика зависимостей проекта.

Однако в этом списке показаны зависимости проекта, а не дерево зависимостей плагинов для каждого плагина. Есть ли способ сделать это из проекта?

Алекс Миллер
источник
1
Вы пробовали запустить mvn -X ...
khmarbaise
Да, и это полезно для определенных проблем, но не то, о чем я прошу.
Alex Miller
Он содержит зависимости плагина, в противном случае такой возможности нет.
khmarbaise
@khmarbaise правильный. Дерево зависимостей подключаемого модуля доступно в выводе отладки Maven. Я тоже не знаю другого способа получить это. (Если вы превратите это в ответ, я проголосую за него.)
Райан Стюарт,
См. Также stackoverflow.com/q/312767/32453
rogerdpack

Ответы:

102

Вывод через mvn -X распечатает информацию косвенно. В настоящее время нет другого способа получить зависимости Maven-Plugin.

Обновление Вы можете использовать следующую команду, чтобы получить список зависимостей плагина ( цель resolve-plugin из плагина зависимостей):

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

Более короткая версия (и указывать версии плагинов - плохая привычка)

mvn dependency:resolve-plugins
khmarbaise
источник
14
resolve-plugins не просто выводит дерево зависимостей ... он, кажется, повторно загружает все пакеты. Не идеально.
Reinderien
5
Плагин не учитывает переопределение зависимостей плагина в pom.xml (тег <build><plugins><plugin><dependencies><dependency>)
Амра
использовать последнюю версию плагина: mvn org.apache.maven.plugins: maven-dependency-plugin: 2.10: resolve-plugins
STB Land
По умолчанию maven загружает плагин зависимостей версии 2.something. Лично мне удалось добиться лучших результатов при использовании версии 3.x.
Драгас,
-3

Если вы используете любую IDE, например IDEA IntelliJ или Eclipse:

  • Вы можете добавить этот плагин ниже в свой pom.xml
  • После этого в окне Maven (справа от IDE) вы найдете новый плагин под названием Dependencies
  • Разверните это, и вы увидите цель dependency: tree, дважды щелкните по ней и запустите, вы должны увидеть полное дерево зависимостей

Плагин для добавления в POM:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>
Дин Джайн
источник