Подтвердить что ты не робот

Конфликтные суффиксы перекрестной версии (sbt, Scala -STM, Play-JSON)

Я использую расширение 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 являются эквивалентными версиями.


EDIT. Кажется, это ошибка sbt 0.13 (и, вероятно, не имеет ничего общего с Play-JSON), потому что если я вернусь к 0.12.4, проект будет успешно обновляться и собираться. Меня все еще интересует работа для sbt 0.13.

4b9b3361

Ответ 1

Вы можете обойти это, удалив scala -stm с исключением

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

Не забудьте сделать sbt clean.

Ответ 2

Обновлено Play2 2.2 - переход к SBT с 0.13.0 → 0.12.4 не работал со мной, но исключая использование exclude ( "org.scala-stm", "scala -stm_2.10.0" ) на Все зависимые от приложения зависимости я работал нормально - в любом случае - ни одна из моих зависимостей не должна иметь ничего общего с scala -stm.

Ответ 3

Если вы хотите, чтобы все библиотеки были втянуты в ваш проект SBT, вы можете использовать плагин SBT dependency graph.

Используя это, вы можете увидеть, почему втягивается scala -stm, а также проверяет наличие других конфликтующих зависимостей scala 2.10 и 2.11.