3

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をインポートしませんでした...

皆さん、なんとか解決しました...

不整合を修正するには、アイビー キャッシュをクリアする必要があります。

 ~/.ivy2/cache

ただし、scala-compiler の使用のバージョンも修正する必要があり、構成済みの 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
4

1 に答える 1

1

問題はラインだと思います

"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"
)

Play フレームワークで示されているように、アクティベーターを使用して新しい Play アプリを作成します。これは build.sbt であり、sorm: の依存関係を追加しています。

また、問題はscala 2.11に固有のwebjars依存関係にあると思います.Java 8を使用してこのコンパイルを作成しましたが、これはこの場合には関係ありません.重要なのは、依存関係のscalaバージョンですこれを試してください:

  name := """TestStackOverflow"""

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
于 2015-08-03T16:13:27.423 に答える