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

时间:2014-07-08 15:36:35

标签: scala playframework playframework-2.0 sbt dependency-management

我有一个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

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

info]   | +-org.scalaz:scalaz-core_2.11:7.0.6

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

我看到here一旦我发现它,我可以排除它,但我的问题是如何检测哪些是我必须排除的依赖。

1 个答案:

答案 0 :(得分:5)

target/resolution-cache/reports/下的常春藤解析报告针对每种配置。 查找*-compile.xml*-test.xml,看看您是否有

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

这应该告诉你模块的caller