如何告诉SBT列出其带入项目的所有库?我看到IntelliJ能够这样做。
就我而言,SBT正在引入hadoop-1(我认为这是一种传递依赖)。我试图让它使用hadoop-2 - 我在build.sbt
中添加了对它的引用,但我仍然从使用v1得到错误,而IntelliJ仍然显示“SBT:Hadoop 1”lib
答案 0 :(得分:7)
对于这些问题,我通常使用sbt-dependency-graph插件https://github.com/jrudolph/sbt-dependency-graph
要反向查找依赖性来自的地方:
what-depends-on <organization> <module> <revision>
它将生成查询依赖项路径的良好输出
答案 1 :(得分:0)
使用sbt 0.13.11。
这是您项目中的一项有用任务。这将列出所有jar依赖项。
lazy val showJars = taskKey[Unit]("Print all Jar dependencies")
showJars <<= (target, fullClasspath in Compile) map { (target, cp) =>
cp.foreach(x => println(x.data))
}
如果您想查看所依赖的所有软件包的快速列表,请使用libraryDependencies设置:
libraryDependencies
如果您想查看依赖于什么的完整图表,那么请使用sat-dependency-graph
插件。
如果您只对一个模块感兴趣:
whatDependsOn <organization> <module> <revision>