Scala 如何解决SBT中冲突的跨版本后缀?

Scala 如何解决SBT中冲突的跨版本后缀?,scala,playframework,playframework-2.0,sbt,dependency-management,Scala,Playframework,Playframework 2.0,Sbt,Dependency Management,我有一个Play项目,它使用一个最近被移植到Scala 2.11.1的库 我还将Play更新为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 *

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

我还将Play更新为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
我尝试使用sbt依赖关系图插件检测哪个库使用scalaz-core-2.10。但是,在依赖关系图树中,scalaz core只有一种外观:

info]   | +-org.scalaz:scalaz-core_2.11:7.0.6
所以我不确定哪个是使用scalaz-core_2.10的库…如何检测它


我已经看到,一旦我检测到它,我可以排除它,但我的问题是如何检测我必须排除的依赖项。

目标/分辨率缓存/reports/
下是Ivy针对每个配置的分辨率报告。 查找
*-compile.xml
*-test.xml
并查看是否有

<module organisation="org.scalaz" name="scalaz-core_2.10">
   ....
</module>

....

这应该会告诉您模块的
调用方

我最近在Akka上遇到了同样的问题,结果是我在Spray dependency中添加了%而不是%%。解决了这个问题。我会检查我的build.sbt并检查所有Scala库是否都有%%Does
last*:update
说了一些有用的话?也许你可以共享一个库名,除非它是你的私人库。