SORM:如何在 Scala 2.11.6 中使用 Sorm

SORM: How can I use Sorm in Scala 2.11.6

如何在 Scala 2.11.6 中使用 Sorm, 在编译中我收到以下错误

[error] Modules were resolved with conflicting cross-version suffixes in ...
[error] org.scala-lang.modules:scala-xml _2.11, _2.12.0-M1
[error] org.scala-lang.modules:scala-parser-combinators _2.11, _2.12.0-M1

在我的 build.sbt 我正在使用...

name := "api-psi"

version := "1.0-SNAPSHOT"

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

scalaVersion := "2.11.6"

libraryDependencies ++= Seq(
  "com.h2database" % "h2" % "1.4.177",
  "org.sorm-framework" % "sorm" % "0.3.18",
  "org.webjars" % "bootstrap" % "3.3.5",
  specs2 % Test
)

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

routesGenerator := InjectedRoutesGenerator

我正在尝试这个例子:https://www.youtube.com/watch?v=eNCerkVyQdcI,但他从未导入过 sorm...

伙计们,我设法解决了...

要解决不一致问题,您应该清除 ivy 缓存:

 ~/.ivy2/cache

但是您还想修复 scala 编译器使用的版本,并且希望它与您配置的 scalaVersion 相匹配:

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

现在我的 SBT

name := """api-my-psi"""

version := "1.0-SNAPSHOT"

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

scalaVersion := "2.11.6"

libraryDependencies ++= Seq(
  jdbc,
  cache,
  ws,
  specs2 % Test,
  "org.sorm-framework" % "sorm" % "0.3.18",
  "org.webjars" % "webjars-play_2.11" % "2.4.0-1",
  "org.webjars" % "bootstrap" % "3.3.5"
)

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

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

routesGenerator := InjectedRoutesGenerator

我认为是线路的问题

"org.scala-lang" % "scala-library" % "2.11.6"

删除它,因为 scala 版本应该像这样在你的 sbt 中:

name := "your name app" 

version := "your version"

scalaVersion := "2.11.6" 

libraryDependencies ++= Seq(
  "org.sorm-framework" % "sorm" % "0.3.18"
)

我用激活器创建了一个新的播放应用程序,因为它显示了播放框架这是 build.sbt 添加对 sorm: 的依赖,请同时删除里面的文件。ivy/cache 也许是某种在线离线依赖,

我还认为问题出在 scala 2.11 特定的 webjars 依赖项上,我使用 java 8 进行了编译,但这在这种情况下不相关,重要的是 scala 版本对于您的依赖项,试试这个:

  name := """TestWhosebug"""

version := "1.0-SNAPSHOT"

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

scalaVersion := "2.11.6"

libraryDependencies ++= Seq(
  jdbc,
  cache,
  ws,
  specs2 % Test,
  "org.sorm-framework" % "sorm" % "0.3.18",
  "org.webjars" % "webjars-play_2.11" % "2.4.0-1",
  "org.webjars" % "bootstrap" % "3.3.5"
)

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

// Play provides two styles of routers, one expects its actions to be injected, the
// other, legacy style, accesses its actions statically.
routesGenerator := InjectedRoutesGenerator