Як можна відобразити дерево залежності Maven для * плагінів * у вашому проекті?


130

Поширена методика налагодження Maven - використовувати mvn залежність: дерево для перегляду графіку залежностей проекту.

Однак у цьому списку показані проектні залежності, а не дерево залежності плагінів для кожного плагіна. Чи є якийсь спосіб зробити це з проекту?


1
Ви намагалися запустити mvn -X ...
khmarbaise

Так, і це корисно для певних проблем, але не те, про що я прошу.
Алекс Міллер

Він містить залежності плагіна, інакше такого немає в наявності.
khmarbaise

@khmarbaise правильний. Дерево залежності плагіна доступне у вивідці налагодження Maven. Я не знаю іншого способу отримати його. (Якщо ви перетворите це на відповідь, я підтримаю його.)
Райан Стюарт

Дивіться також stackoverflow.com/q/312767/32453
rogerdpack

Відповіді:


102

Вихід через mvn -X буде роздруковувати інформацію побічно. В даний час немає іншого варіанта, щоб отримати залежності Maven-Plugin.

Оновлення Ви можете скористатися такою командою, щоб отримати список залежностей плагіна ( ціль вирішення-плагіна з додатка залежності):

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

Більш коротка версія є (і шкідлива звичка вказувати версії плагінів)

mvn dependency:resolve-plugins

14
резолінг-плагіни не просто виводить дерево залежності ... воно, схоже, повторно завантажує всі пакети. Не ідеально.
Reinderien

5
Плагін не поважає переважну залежність плагіна в pom.xml (тег <build><plugins><plugin><dependencies><dependency>)
amra

користуватися останньою версією плагіна: mvn org.apache.maven.plugins: maven-залежність-плагін: 2.10: разрешать плагіни
STB Land

За замовчуванням Maven завантажує залежність плагіна версії 2. щось. Особисто мені вдалося отримати кращі результати при використанні версії 3.x.
Драгас

-3

Якщо ви використовуєте будь-який IDE, наприклад IDEA IntelliJ або Eclipse:

  • Ви можете додати цей плагін нижче у свій pom.xml
  • Після завершення у вікні Maven (праворуч від IDE) ви знайдете новий плагін, який називається залежними
  • Розгорніть це, і ви побачите залежність: ціль дерева, двічі клацніть на ньому та запустіть його, ви побачите дерево повного залежності

Плагін потрібно додати в POM:

<build>
    <plugins>
        <plugin>
            <artifactId>maven-dependency-plugin</artifactId>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.