Получить дерево зависимостей проекта maven с отсутствующей зависимостью - PullRequest
17 голосов
/ 14 марта 2012

Прежде всего, позвольте мне сказать, что mvn dependency:tree не работает в моем сценарии.Я работаю над уже существующей кодовой базой, которая дает сбой сборки.Проблема заключалась в том, что репозитории maven (включая nexus) не имеют POM для транзитивной зависимости (org.apache.ws.security:wss4j:pom:1.5.2) в этом проекте.

Я хочу выяснить, откуда появилась эта зависимость.Вероятно, это транзитивная зависимость, потому что она не указана ни в помете проекта, ни в родительских помпах.Вызов mvn dependency:tree не работает, поскольку он также завершается с той же ошибкой, которую я получаю, когда использую mvn install (Тайм-аут соединения).Ошибка приведена ниже.

Итак, как я могу определить, какая зависимость пытается загрузить этот pom?Я хотел бы получить общий ответ, чтобы найти дерево зависимостей, а не фокусироваться на wss4j pom, указанном выше.

[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Sample/XKMS 4.5.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
Downloading: http://ws.zones.apache.org/repository2/org/apache/ws/security/wss4j/1.5.2/wss4j-1.5.2.pom

[WARNING] The POM for bouncycastle:bcprov-jdk13:jar:132 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3:10.155s
[INFO] Finished at: Wed Mar 14 10:35:20 IST 2012
[INFO] Final Memory: 7M/490M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal on project wso2appserver-samples-xkms: Could not resolve dependencies 
for project org.wso2.appserver:wso2appserver-samples-xkms:jar:4.5.0-SNAPSHOT: Failed to collect dependencies for [org.wso2.xkms:xkms:jar:2.2 (compile)]: Failed to read artifact descriptor for org.apache.ws.security:wss4j:jar:1.5.2: 
Could not transfer artifact org.apache.ws.security:wss4j:pom:1.5.2 from/to ws-zones-repository (http://ws.zones.apache.org/repository2): Error transferring file: Connection timed out -> [Help 1]

Ответы [ 3 ]

33 голосов
/ 22 мая 2013
mvn dependency:tree --debug

выводит дерево до сбоя в моем случае.

4 голосов
/ 11 апреля 2012

Один из способов выяснить это - установить плагин m2eclipse Maven для Eclipse. (Если вы используете и используете Eclipse, то есть.) Имя не связано с версией; это работает счастливо, по крайней мере, Maven 2.2.1 и 3.

http://www.eclipse.org/m2e/

Затем откройте корневую помпу в Eclipse и перейдите на вкладку Dependency Hierarchy. Справа будут все зависимости, которые будет загружать проект, а слева - какие зависимости запрашивают для чего. Если зависимость говорит (managed from X), это означает, что другая зависимость хочет другую версию этой зависимости. Однако это не безупречно. Я все еще слишком смотрел на некоторые другие помпы, чтобы найти зависимость, которую искал. Но это должно облегчить жизнь и, по крайней мере, направить вас в правильном направлении.

0 голосов
/ 15 марта 2012

Вы нашли ошибку - см. WSS-136

Использовать репозиторий: http://maven.alfresco.com/nexus/content/groups/public/

http://maven.alfresco.com/nexus/content/groups/public/org/apache/ws/security/wss4j/1.5.2/

Обход - поискдля другого репозитория maven или установить локально.

...