I have an sbt project with these dependencies:
libraryDependencies ++= Seq( "org.scalatra" %% "scalatra" % ScalatraVersion, "org.scalatra" %% "scalatra-scalate" % ScalatraVersion, "org.scalatra" %% "scalatra-specs2" % ScalatraVersion % "test", "ch.qos.logback" % "logback-classic" % "1.1.2" % "runtime", "org.eclipse.jetty" % "jetty-webapp" % "9.1.5.v20140505" % "container", "org.eclipse.jetty" % "jetty-plus" % "9.1.5.v20140505" % "container", "javax.servlet" % "javax.servlet-api" % "3.1.0", "org.sorm-framework" % "sorm" % "0.3.18", "com.h2database" % "h2" % "1.4.187", "org.fusesource.scalamd" % "scalamd_2.10" % "1.6" )
On one machine, I can run. / sbt no problem; on the other i get
[error] Modules were resolved with conflicting cross-version suffixes in {file:/C:/dev/scalaspace/game-tracker/}game-tracker: [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
I have already highlighted the problem and fixed it. Sorm depends on the compiler 2.12.0-M1:
[info] +-org.sorm-framework:sorm:0.3.18 [S] [info] +-com.github.nikita-volkov:embrace:0.1.4 [S] [info] | +-org.scala-lang:scala-compiler:2.12.0-M1 [S] [info] | +-org.scala-lang.modules:scala-parser-combinators_2.12.0-M1:1.0.4 [S] [info] | +-org.scala-lang.modules:scala-xml_2.12.0-M1:1.0.4 [S] [info] | +-org.scala-lang:scala-reflect:2.11.0 [S] (evicted by: 2.11.6) [info] | +-org.scala-lang:scala-reflect:2.11.6 [S] [info] | +-org.scala-lang:scala-reflect:2.12.0-M1 (evicted by: 2.11.0)
I can create a project in both places by adding exclude("org.scala-lang","scala-compiler") to the sorm dependency. But why is the behavior inconsistent? Both environments use the same version of sbt (0.13.8) and scala (2.11.6). What else?
source share