How can I solve conflicting cross version suffixes in SBT?
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.
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.
上一篇: 在另一个视频中运行绿屏视频
下一篇: 如何在SBT中解决冲突的交叉版本后缀?