Подтвердить что ты не робот

Получить дерево зависимостей проекта maven с отсутствующей зависимостью

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

Я хочу найти, откуда эта зависимость. Вероятно, это транзитивная зависимость, потому что она не указана в проекте pom или в родительских позах. Вызов 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]
4b9b3361

Ответ 1

mvn dependency:tree --debug

выводит дерево до отказа в моем случае.

Ответ 2

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

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

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