问题 如何找出导致特定库下载的依赖项?


运行我的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下载的项目依赖项?


2253
2018-01-14 11:06


起源



答案:


这个插件应该能够帮助: 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(*)]

16
2018-01-14 11:50



我不得不添加 ivyLoggingLevel 到 project/build.sbt 代替 build.sbt 检查sbt插件的传递依赖性的起源。 - dickmao


答案:


这个插件应该能够帮助: 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(*)]

16
2018-01-14 11:50



我不得不添加 ivyLoggingLevel 到 project/build.sbt 代替 build.sbt 检查sbt插件的传递依赖性的起源。 - dickmao