我正在使用JSON扩展,它依赖于Mandubian的play-json 2.2-SNAPSHOT。一切正常,直到现在我有一个基于Scala-STM的项目。 sbt报告以下问题:
[error] Modules were resolved with conflicting cross-version suffixes
in {file:folder}project:
[error] org.scala-stm:scala-stm _2.10, _2.10.0
java.lang.RuntimeException: Conflicting cross-version suffixes in:
org.scala-stm:scala-stm
有没有机会深入研究这两个“冲突”版本的来源?我很惊讶play-json应该依赖于scala-stm?!
此外,有没有办法说服sbt关闭......。因为很明显2.10和2.10.0是等效版本。
编辑:这似乎是一个0.13错误(可能与Play-JSON无关),因为如果我恢复到0.12.4,项目会成功更新和构建。我仍然对sbt 0.13的工作感兴趣。
答案 0 :(得分:21)
您可以通过删除带有排除
的scala-stm来解决此问题 "dependencyGroupId" %% "dependencyArtifactId" % "dependencyVersion" exclude("org.scala-stm", "scala-stm_2.10.0")
不要忘记sbt clean
。
答案 1 :(得分:2)
更新了Play2 2.2 - 从0.13.0降级到SBT - > 0.12.4不适用于我,但排除使用exclude(“org.scala-stm”,“scala-stm_2.10.0”)对所有应用程序特定的依赖项我工作得很好 - 无论如何 - 没有我的依赖项不应该与scala-stm有任何关系。
答案 2 :(得分:2)
如果您希望将所有库都插入到SBT项目中,可以使用SBT dependency graph插件。
使用此功能,您可以了解为什么会引入scala-stm,还会检查其他冲突的scala 2.10和2.11依赖项。