21

我正在使用依赖于 Mandubian 的 play-json 2.2-SNAPSHOT 的 JSON 扩展。到目前为止一切正常,我有一个基于 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 是等效的版本。


编辑:这似乎是一个 sbt 0.13 错误(可能与 Play-JSON 无关),因为如果我恢复到 0.12.4,项目会成功更新和构建。我仍然对 sbt 0.13 的解决方法感兴趣。

4

3 回答 3

21

您可以通过使用 exclude 删除 scala-stm 来解决此问题

 "dependencyGroupId" %% "dependencyArtifactId" % "dependencyVersion" exclude("org.scala-stm", "scala-stm_2.10.0")

不要忘记做sbt clean

于 2013-10-08T08:37:18.947 回答
2

更新了 Play2 2.2 - 从 0.13.0 降级到 SBT -> 0.12.4 对我不起作用,但不包括在所有应用程序特定依赖项上使用 exclude("org.scala-stm", "scala-stm_2.10.0")我工作得很好——无论如何——我的所有依赖项都不应该与 scala-stm 有任何关系。

于 2013-10-08T13:45:13.013 回答
2

如果您希望看到所有库都被拉入您的 SBT 项目,您可以使用SBT 依赖关系图插件。

使用它,您可以看到为什么要引入 scala-stm,并检查其他冲突的 scala 2.10 和 2.11 依赖项。

于 2014-08-29T06:37:26.497 回答