1

我正在尝试构建我的第一个播放应用程序。我正在关注(播放教程中的视频https://www.playframework.com/),但我遇到了 sbt 文件的问题。

sorm生成 SBT 版本冲突。

name := """gig"""

version := "1.0-SNAPSHOT"

lazy val root = (project in file(".")).enablePlugins(PlayScala)

scalaVersion := "2.11.7"

libraryDependencies ++= Seq(
  jdbc,
  cache,
  ws,
  "org.scalatestplus.play" %% "scalatestplus-play" % "1.5.1" % Test
)

//libraryDependencies += "org.sorm-framework" % "sorm" % "0.3.19"

resolvers += "scalaz-bintray" at "http://dl.bintray.com/scalaz/releases"

如果我添加以下内容,我还会收到未解决的存储库错误: libraryDependencies += "com.h2database" % "h2" % "1.3.148"

我该如何解决这两个问题?

编辑:

这是错误:

Error:Error while importing SBT project:<br/>...<br/><pre>[info] Resolving com.typesafe.play#play-doc_2.11;1.2.2 ...
[info] Resolving org.pegdown#pegdown;1.4.0 ...
[info] Resolving org.parboiled#parboiled-java;1.1.5 ...
[info] Resolving org.parboiled#parboiled-core;1.1.5 ...
[info] Resolving org.ow2.asm#asm;4.1 ...
[info] Resolving org.ow2.asm#asm-tree;4.1 ...
[info] Resolving org.ow2.asm#asm-analysis;4.1 ...
[info] Resolving org.ow2.asm#asm-util;4.1 ...
[info] Resolving org.scala-lang#scala-compiler;2.11.7 ...
[info] Resolving org.scala-lang.modules#scala-xml_2.11;1.0.4 ...
[info] Resolving jline#jline;2.12.1 ...
[info] Done updating.
[error] Modules were resolved with conflicting cross-version suffixes in {file:/Users/donbeo/Documents/scala_code/gig/}root:
[error]    org.scala-lang.modules:scala-xml _2.11, _2.12.0-M4
[error]    org.scala-lang.modules:scala-parser-combinators _2.11, _2.12.0-M4
[trace] Stack trace suppressed: run 'last *:update' for the full output.
[trace] Stack trace suppressed: run 'last *:ssExtractDependencies' for the full output.
[error] (*:update) Conflicting cross-version suffixes in: org.scala-lang.modules:scala-xml, org.scala-lang.modules:scala-parser-combinators
[error] (*:ssExtractDependencies) Conflicting cross-version suffixes in: org.scala-lang.modules:scala-xml, org.scala-lang.modules:scala-parser-combinators
[error] Total time: 26 s, completed Jun 17, 2016 10:34:45 PM</pre><br/>See complete log in <a href="/Users/donbeo/Library/Logs/IntelliJIdea2016.1/sbt.last.log">/Users/donbeo/Library/Logs/IntelliJIdea2016.1/sbt.last.log</a>

这是播放版addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.5.4")

4

1 回答 1

3

似乎一个名为“拥抱sorm”的依赖项有点搞砸了。

由于配置错误,它总是要求 scala 的最新版本,并且自从 scala 2.12“betas”发布以来,他正在要求那些。

此处描述了相同的问题:

为什么我在一个环境中的 sbt 中出现冲突的交叉版本,而在另一个环境中却没有?

要解决您的问题,您需要使用以下命令强制使用 scala 版本:

dependencyOverrides += "org.scala-lang" % "scala-compiler" % scalaVersion.value

(你可以把它放在 build.sbt 文件的末尾)

然后我们需要为 sorm 清除 ivy2 缓存:

rm -r ~/.ivy2/cache/org.sorm-framework/sorm/

现在运行

sbt update

我的建议是让您以正式或拥抱的方式提出一个关于此的问题。

于 2016-06-17T21:57:23.993 回答