У Maven 2, як я можу дізнатися, з якої залежності походить транзитивна залежність?


97

Я хотів би знати, яка залежність, описана в моєму pom.xml, приносить транзитивну залежність у моєму цільовому каталозі.

Якщо бути точнішим, у мене є бібліотека "poi-2.5.1-final-20040804.jar" у моєму каталозі WEB-INF / lib, і я хотів би знати, яка залежність у моєму pom.xml це приносить.

Відповіді:


132

Щоб додати до @David Crow, ось приклад дерева: із сайту Maven:

mvn dependency:tree -Dincludes=velocity:velocity

може вивести

[INFO] [dependency:tree]
[INFO] org.apache.maven.plugins:maven-dependency-plugin:maven-plugin:2.0-alpha-5-SNAPSHOT
[INFO] \- org.apache.maven.doxia:doxia-site-renderer:jar:1.0-alpha-8:compile
[INFO]    \- org.codehaus.plexus:plexus-velocity:jar:1.1.3:compile
[INFO]       \- velocity:velocity:jar:1.4:compile

1
Це не спрацювало для мене; все, що я отримав, - це помилки щодо непідтримуваних «застарілих» значень. Запуск версії @David Crow (тобто без позначки швидкості) працював нормально.
Влад Шнаковські



2

Ви можете мати багато звітів до

сайт mvn

Одним з них є звіт про залежність.


1

Якщо ви запустите maven з перемикачем "-x", він роздрукує багато діагностики, я думаю, що відповідний шлях залежності можна вибрати звідти.


2
Насправді ця відповідь корисна. Я зіткнувся з відомою невизначеною помилкою класу aether, спричиненою оновленням мого Maven з 3.0 до 3.3, і наступна команда виявила, що інший плагін maven все ще постачав версію 3.0.5 org.apache.maven: maven-core: mvn -X dependency:tree -Dverbose |grep -C20 sonatype.aether
ekarak

Хоча "-X" (велика літера, альтернативна назва "--debug") часто корисна, вона не повідомляє вам про походження номера версії. У будь-якому випадку не на Maven 3.6.0.
toolforger

1

Інформація про залежність також включається до звіту Про інформацію про проект / Залежності, якщо ви створили сайт для проекту за допомогою mvn site.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.