Как узнать, какая зависимость вызвала загрузку конкретной библиотеки?
При запуске моего проекта SBT в консоли выводится строка:
[info] downloading http://repository/nexus/content/groups/public/org/jboss/netty/netty/3.2.3.Final/netty-3.2.3.Final.jar ...
[info] [SUCCESSFUL ] org.jboss.netty#netty;3.2.3.Final!netty.jar(bundle) (651ms)
Как узнать, какая зависимость проекта вызвала загрузку netty.jar?
1 ответ
Решение
Этот плагин должен быть в состоянии помочь: https://github.com/jrudolph/sbt-dependency-graph/
Другим способом было бы включить полную отладку в вашем build.sbt
следующее:
ivyLoggingLevel := UpdateLogging.Full
logLevel := Level.Debug
и тогда вы могли бы проанализировать вывод sbt update
Например, если бы я хотел знать, где logback-core
приходит из моего примера проекта, я мог бы запустить
sbt update | grep logback-core
И я бы получил несколько таких строк, говоря мне, что это идет с logback-classic
:
[debug] == resolving dependencies ch.qos.logback#logback-classic;1.0.10->ch.qos.logback#logback-core;1.0.10 [compile->master(*)]