我正在使用sbt 0.12 RC2
。
我的项目有一堆库依赖项,其中一些触发其他依赖项。其中一些依赖项是非托管的(在lib/
中),有些位于我的本地.ivy2
存储库中,有些位于各种远程存储库中。
我正在寻找一个sbt update-verbose
或类似的东西,它会告诉我sbt找到每个JAR文件时的确切位置:
[info] Resolving com.nicta#sbt-scoobi;0.0.1 ...
[info] Resolving org.scala-lang#scala-library;2.9.2 ...
[info] Resolving org.apache.opennlp#opennlp-maxent;3.0.1-incubating ...
[info] Resolving jwnl#jwnl;1.3.3 ...
答案 0 :(得分:3)
sbt
生成一份非常详尽的报告,说明target/resolution-cache/reports
中依赖关系的确切解析方式。在Web浏览器中打开其中一个.xml
文件,您应该会看到所需的所有详细信息。
答案 1 :(得分:1)
我不确定这是否适用于sbt 0.12.x,但是在0.13.x中,如果你可以在~/.ivy/cache/...
目录结构中找到你的库所在,那么库的父目录就有一个名为ivydata-x.y.z.properties
,其中包含找到依赖项的URL。
例如,如果缓存为akka-streams
,则如下所示:
.ivy2
└── cache
└── com.typesafe.akka
└── akka-stream_2.11
├── docs
│ └── akka-stream_2.11-2.4.14-javadoc.jar
├── jars
│ └── akka-stream_2.11-2.4.14.jar
└── srcs
└── akka-stream_2.11-2.4.14-sources.jar
你应该找到这样的文件,其中包含下载URL:
.ivy2
└── cache
└── com.typesafe.akka
└── akka-stream_2.11
└──ivydata-2.4.14.properties
答案 2 :(得分:0)
您可以使用show compile:dependency-classpath
来显示依赖项的位置
答案 3 :(得分:0)