冲突的跨版本后缀(sbt,Scala-STM,Play-JSON)

0__*_*0__ 21 scala dependency-management sbt

我正在使用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
Run Code Online (Sandbox Code Playgroud)

有没有机会深入研究这两个"冲突"版本的来源?我很惊讶play-json应该依赖于scala-stm ?!

此外,有没有办法说服sbt关闭.......因为显然2.10和2.10.0是等效版本.


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

kom*_*pot 21

你可以通过删除scala-stm解决这个问题

 "dependencyGroupId" %% "dependencyArtifactId" % "dependencyVersion" exclude("org.scala-stm", "scala-stm_2.10.0")
Run Code Online (Sandbox Code Playgroud)

别忘了做sbt clean.

  • 我在哪里可以在我的`play`应用中添加它?我假设`Build.scala`,但在里面呢? (2认同)
  • 究竟什么是`排除'做什么,它似乎是一个捕获所有解决方案,当sbt是一个白痴.肯定会有一些后果吗? (2认同)