如何在SBT中解决冲突的交叉版本后缀?

Lab*_*bra 8 scala dependency-management sbt playframework playframework-2.0

我有一个Play项目,它使用最近移植到Scala 2.11.1的库.

我还更新了Play to Scala 2.11.1.

当我尝试运行该项目时,我得到:

[error] Modules were resolved with conflicting cross-version suffixes in {file:/...}:
[error]    org.scalaz:scalaz-core _2.11, _2.10
[trace] Stack trace suppressed: run last *:update for the full output.
[error] (*:update) Conflicting cross-version suffixes in: org.scalaz:scalaz-core
Run Code Online (Sandbox Code Playgroud)

我试图使用sbt-dependency-graph插件检测哪个是使用scalaz-core-2.10的库.但是,在依赖图树中,只有一个scalaz-core的外观:

info]   | +-org.scalaz:scalaz-core_2.11:7.0.6
Run Code Online (Sandbox Code Playgroud)

所以我不确定使用scalaz-core_2.10的库是哪个...如何检测它?

我在这里看到,一旦我发现它,我可以排除它,但我的问题是如何检测哪个是我必须排除的依赖.

Eug*_*ota 5

下面target/resolution-cache/reports/是针对每个配置的Ivy的分辨率报告。寻找*-compile.xml*-test.xml看看你是否有

<module organisation="org.scalaz" name="scalaz-core_2.10">
   ....
</module>
Run Code Online (Sandbox Code Playgroud)

这应该告诉您caller该模块的。