2013-08-20 5 views
2

У меня есть this problem, и я думаю, что это вызвано некоторой библиотекой транзитивно в зависимости от скорости старой версии. Мой pom явно запрашивает правильную версию скорости, но я думаю, что какая-то другая зависимость транзитивно вытягивает старую версию скорости, и вместо этого она используется в моем пути к классам.В Maven, как узнать, что зависит от конкретной зависимости?

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

Итак, я понял, «grep на помощь». Но это не помогло, потому что я получил этот вывод:

$ mvn dependency:tree | grep velocity 
[INFO] | | +- velocity:velocity:jar:1.5:compile 
[INFO] | | | +- velocity:velocity:jar:1.5:compile 
[INFO] | | | +- velocity:velocity:jar:1.5:compile 
[INFO] +- org.apache.velocity:velocity:jar:1.6.3:compile 
[INFO] +- org.apache.velocity:velocity-tools:jar:2.0:compile 
[INFO] | +- velocity:velocity:jar:1.5:compile 
[INFO] | | +- velocity:velocity:jar:1.5:compile 
[INFO] +- org.apache.velocity:velocity-tools:jar:2.0:compile 
[INFO] | \- org.apache.velocity:velocity:jar:1.6.3:compile (version managed from 1.6.2) 
[INFO] | | | +- velocity:velocity:jar:1.5:compile 
[INFO] | +- org.apache.velocity:velocity-tools:jar:2.0:provided 
[INFO] | | \- org.apache.velocity:velocity:jar:1.6.3:provided (version managed from 1.6.2) 
[INFO] | | | +- velocity:velocity:jar:1.5:provided 
[INFO] | +- org.apache.velocity:velocity-tools:jar:2.0:provided 
[INFO] | | \- org.apache.velocity:velocity:jar:1.6.3:provided (version managed from 1.6.2) 
[INFO] | +- org.apache.velocity:velocity-tools:jar:2.0:provided 
[INFO] | | \- org.apache.velocity:velocity:jar:1.6.3:provided (version managed from 1.6.2) 
[INFO] | | | +- velocity:velocity:jar:1.5:compile 
[INFO] | +- org.apache.velocity:velocity:jar:1.6.3:compile (version managed from 1.6.3) 
[INFO] | +- org.apache.velocity:velocity-tools:jar:2.0:compile (version managed from 2.0) 
[INFO] | | +- velocity:velocity:jar:1.5:compile 

Я не могу сказать, что действительно зависит от этой первой скорости 1.5. Предоставляет ли maven некоторые аргументы dependency:tree, чтобы облегчить мне жизнь? Или есть какой-то опрятный трюк, который я могу использовать с командами оболочки, чтобы понять это? Я использую cygwin btw, но я надеюсь, что это не имеет значения, поскольку у него есть большинство доступных команд.

ответ

0

cheffe's answer является хороший.

Чтобы добавить к этому, другое решение, которое я использую, часто включает в себя egrep, в основном, когда я хочу увидеть картинку большего размера.

mvn dependency:tree -Dverbose | egrep --color 'velocity|$' 

За:

  • цветной выход
  • частичное соответствие слов (так как он просто GREP).

Против:

  • многословие выхода
Смежные вопросы