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

我有一个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-dependency-graph插件来检测哪个库使用scalaz-core-2.10。 但是,在依赖图树中,scalaz-core只有一个外观:

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

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

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


target/resolution-cache/reports/是每个配置的Ivy的解析报告。 寻找*-compile.xml*-test.xml ,看看你有没有

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

这应该告诉你模块的caller

链接地址: http://www.djcxy.com/p/21459.html

上一篇: How can I solve conflicting cross version suffixes in SBT?

下一篇: Enable HTTP Request POST in Spring Boot