【问题标题】:How to identify source of specific dependency in SBT如何识别 SBT 中特定依赖的来源
【发布时间】:2022-11-04 08:20:45
【问题描述】:
运行 SBT 编译时,我可以在构建日志中看到特定版本的特定依赖项:
[info] Resolving junit#junit;4.12 ...
在任何 build.sbt 文件中都没有明确提及此依赖项,因此它要么作为传递依赖项出现,要么可能来自 Play 框架本身。
知道如何跟踪这个特定 Junit 版本依赖项的确切来源吗?我已经尝试从 SBT 依赖树中获取它。但是,这仅包括相同的“正在解决...”消息,但不包括从何处解决。
谢谢!
【问题讨论】:
标签:
junit
dependencies
sbt
【解决方案1】:
在有一个检查依赖项的插件之前:sbt-dependency-graph。现在(从 sbt 1.4 开始)它是核心 sbt 的一部分,可以通过将 addDependencyTreePlugin 添加到您的 project/plugins.sbt 文件来启用。然后你可以使用像whatDependsOn这样的命令:
whatDependsOn <organization> <module> <revision>?:找出依赖于工件的内容。显示选定模块的反向依赖树。 <revision> 参数是可选的。
或者,如果没有帮助,请运行 dependencyBrowseGraph 或 dependencyBrowseTree,然后检查图形/树(有一个搜索字段)。