How can I solve conflicting cross version suffixes in SBT?

dependency-management, playframework, playframework-2.0, sbt, scala

Solution

Under `target/resolution-cache/reports/` are Ivy's resolution report for each configuration. Look for `*-compile.xml` and `*-test.xml` and see if you have

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

This should tell you the `caller` of the module.

Problem

I have a Play project that uses a library that has recently been ported to Scala 2.11.1. I have also updated Play to Scala 2.11.1. When I try to run the project, I get: ``` [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 ``` I tried to detect which is the library that uses scalaz-core-2.10 using sbt-dependency-graph plugin. However, in the dependency graph tree, there is only one appearance of scalaz-core: ``` info] | +-org.scalaz:scalaz-core_2.11:7.0.6 ``` So I am not sure which is the library that uses scalaz-core_2.10...How can I detect it? I have seen here that once I detect it, I could exclude it, but my problem is how to detect which is dependency that I have to exclude.

Original source

Related problems