Как посмотреть, были ли версии транзитивной зависимости перезаписаны - PullRequest
0 голосов
/ 21 сентября 2018

Мой pom ссылается на родительский pom с множеством объявленных зависимостей в разделе dependenyManagement.Это переписывает версию транзитивной зависимости и вызывает проблемы во время выполнения.

Чтобы решить эту проблему, я теперь объявляю транзитивную зависимость как явную зависимость, но мне потребовалось некоторое время, чтобы выяснить проблему.Я бы заметил гораздо раньше, если бы mvn dependency:tree показал бы мне, что версия была перезаписана, но это не так.

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

Ответы [ 2 ]

0 голосов
/ 21 сентября 2018

Используйте эти плагины

https://maven.apache.org/plugins/maven-dependency-plugin/list-mojo.html https://maven.apache.org/plugins/maven-help-plugin/effective-pom-mojo.html

Команда запуска

mvn dependency:list

и

help:effective-pom

, затем сравнитедва списка.

0 голосов
/ 21 сентября 2018
mvn dependency:tree -Dverbose=true

должен сделать свое дело.В качестве альтернативы вы можете использовать:

mvn dependency:tree -X

Использование Maven 3.3.9 и 3.5.2 (оба по умолчанию для версии 2.10 maven-dependency-plugin:

[INFO] --- maven-dependency-plugin:2.10:tree (default-cli) @ xxx ---
[WARNING] Using Maven 2 dependency tree to get verbose output, which may be inconsistent with actual Maven 3 resolution
[INFO] xxx:jar:1.0.0-SNAPSHOT
[INFO] +- com.sun.mail:javax.mail:jar:1.5.6:runtime
[INFO] |  \- (javax.activation:activation:jar:1.1:runtime - omitted for conflict with 1.1.1)
[INFO] +- org.eclipse.jgit:org.eclipse.jgit.junit:jar:4.7.0.201704051617-r:test
[INFO] |  \- (org.eclipse.jgit:org.eclipse.jgit:jar:3.5.3.201412180710-r:test - version managed from 4.7.0.201704051617-r; omitted for conflict with 4.7.0.201704051617-r)
[INFO] +- org.eclipse.jgit:org.eclipse.jgit.junit.http:jar:4.7.0.201704051617-r:test
[INFO] |  +- (org.eclipse.jgit:org.eclipse.jgit:jar:3.5.3.201412180710-r:test - version managed from 4.7.0.201704051617-r; omitted for conflict with 4.7.0.201704051617-r)
[INFO] |  +- org.eclipse.jgit:org.eclipse.jgit.http.server:jar:4.7.0.201704051617-r:test
[INFO] |  |  \- (org.eclipse.jgit:org.eclipse.jgit:jar:3.5.3.201412180710-r:test - version managed from 4.7.0.201704051617-r; omitted for conflict with 4.7.0.201704051617-r)
[INFO] |  +- (org.eclipse.jgit:org.eclipse.jgit.junit:jar:4.7.0.201704051617-r:test - omitted for duplicate)
[INFO] |  \- org.eclipse.jetty:jetty-servlet:jar:9.4.7.v20170914:test (version managed from 9.3.17.v20170317)
[INFO] |     \- (org.eclipse.jetty:jetty-security:jar:9.4.7.v20170914:test - omitted for conflict with 9.3.19.v20170502)
[INFO] +- org.eclipse.jetty:jetty-security:jar:9.3.19.v20170502:test
[INFO] |  \- org.eclipse.jetty:jetty-server:jar:9.4.7.v20170914:test (version managed from 9.3.19.v20170502)
[INFO] |     +- javax.servlet:javax.servlet-api:jar:3.1.0:test
[INFO] |     +- org.eclipse.jetty:jetty-http:jar:9.4.7.v20170914:test
[INFO] |     |  +- org.eclipse.jetty:jetty-util:jar:9.4.7.v20170914:test
[INFO] |     |  \- (org.eclipse.jetty:jetty-io:jar:9.4.7.v20170914:test - omitted for duplicate)
[INFO] |     \- org.eclipse.jetty:jetty-io:jar:9.4.7.v20170914:test
[INFO] |        \- (org.eclipse.jetty:jetty-util:jar:9.4.7.v20170914:test - omitted for duplicate)
[INFO] \- org.springframework.boot:spring-boot-starter-data-ldap:jar:1.5.8.RELEASE:compile
[INFO]       \- (org.slf4j:jcl-over-slf4j:jar:1.7.25:compile - scope updated from runtime; omitted for duplicate)

Если вы используете Eclipse сплагин M2, вкладка «Иерархия зависимостей» в POM также будет отображать пропущенные версии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...