問題が発生しており、解決できません。今日、プロジェクトのビルド中にエラーが発生しました。このエラーについては、次のトピックで説明しています: ある環境では sbt で競合するクロスバージョンが発生するのに、別の環境では発生しないのはなぜですか?
私が理解しているように、scala の新しいバージョンがリリースされ (2.12.0-M1)、依存関係が壊れていました。この質問に対する答えは、コードを使用して「org.scala-lang」と「scala-compiler」の依存関係をオーバーライドすることです。
dependencyOverrides += "org.scala-lang" % "scala-compiler" % scalaVersion.value
私のscalaVersionはscalaVersion := "2.11.1"
. これにより、プロジェクトのビルドに関する問題が解決されました。サーバーは正常に実行されますが、DB
オブジェクト (拡張Instance
) を呼び出してクエリを実行しようとすると、例外が発生します。
play.api.Application$$anon$1: Execution exception[[RuntimeException: java.lang.ExceptionInInitializerError]]
at play.api.Application$class.handleError(Application.scala:296) ~[play_2.11-2.3.7.jar:2.3.7]
at play.api.DefaultApplication.handleError(Application.scala:402) [play_2.11-2.3.7.jar:2.3.7]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) [play_2.11-2.3.7.jar:2.3.7]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$3$$anonfun$applyOrElse$4.apply(PlayDefaultUpstreamHandler.scala:320) [play_2.11-2.3.7.jar:2.3.7]
at scala.Option.map(Option.scala:146) [scala-library-2.11.6.jar:na]
Caused by: java.lang.RuntimeException: java.lang.ExceptionInInitializerError
at play.api.mvc.ActionBuilder$$anon$1.apply(Action.scala:523) ~[play_2.11-2.3.7.jar:2.3.7]
at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:130) ~[play_2.11-2.3.7.jar:2.3.7]
at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4$$anonfun$apply$5.apply(Action.scala:130) ~[play_2.11-2.3.7.jar:2.3.7]
at play.utils.Threads$.withContextClassLoader(Threads.scala:21) ~[play_2.11-2.3.7.jar:2.3.7]
at play.api.mvc.Action$$anonfun$apply$1$$anonfun$apply$4.apply(Action.scala:129) ~[play_2.11-2.3.7.jar:2.3.7]
Caused by: java.lang.ExceptionInInitializerError: null
at models.dao.UserDAO$.getUser(UserDAO.scala:32) ~[classes/:na]
at controllers.User$$anonfun$login$1.apply(User.scala:82) ~[classes/:na]
at controllers.User$$anonfun$login$1.apply(User.scala:80) ~[classes/:na]
at play.api.mvc.ActionBuilder$$anonfun$apply$16.apply(Action.scala:433) ~[play_2.11-2.3.7.jar:2.3.7]
at play.api.mvc.ActionBuilder$$anonfun$apply$16.apply(Action.scala:432) ~[play_2.11-2.3.7.jar:2.3.7]
Caused by: scala.tools.reflect.ToolBoxError: reflective compilation has failed: cannot initialize the compiler due to java.lang.VerifyError: scala/tools/reflect/ToolBoxFactory$ToolBoxImpl$ToolBoxGlobal
at scala.tools.reflect.ToolBoxFactory$ToolBoxImpl$withCompilerApi$api$.liftedTree1$1(ToolBoxFactory.scala:344) ~[scala-compiler-2.11.1.jar:na]
at scala.tools.reflect.ToolBoxFactory$ToolBoxImpl$withCompilerApi$api$.compiler$lzycompute(ToolBoxFactory.scala:330) ~[scala-compiler-2.11.1.jar:na]
at scala.tools.reflect.ToolBoxFactory$ToolBoxImpl$withCompilerApi$api$.compiler(ToolBoxFactory.scala:329) ~[scala-compiler-2.11.1.jar:na]
at scala.tools.reflect.ToolBoxFactory$ToolBoxImpl$withCompilerApi$.liftedTree2$1(ToolBoxFactory.scala:356) ~[scala-compiler-2.11.1.jar:na]
at scala.tools.reflect.ToolBoxFactory$ToolBoxImpl$withCompilerApi$.apply(ToolBoxFactory.scala:354) ~[scala-compiler-2.11.1.jar:na]
Caused by: java.lang.VerifyError: scala/tools/reflect/ToolBoxFactory$ToolBoxImpl$ToolBoxGlobal
at scala.tools.reflect.ToolBoxFactory$ToolBoxImpl$withCompilerApi$api$.liftedTree1$1(ToolBoxFactory.scala:334) ~[scala-compiler-2.11.1.jar:na]
at scala.tools.reflect.ToolBoxFactory$ToolBoxImpl$withCompilerApi$api$.compiler$lzycompute(ToolBoxFactory.scala:330) ~[scala-compiler-2.11.1.jar:na]
at scala.tools.reflect.ToolBoxFactory$ToolBoxImpl$withCompilerApi$api$.compiler(ToolBoxFactory.scala:329) ~[scala-compiler-2.11.1.jar:na]
at scala.tools.reflect.ToolBoxFactory$ToolBoxImpl$withCompilerApi$.liftedTree2$1(ToolBoxFactory.scala:356) ~[scala-compiler-2.11.1.jar:na]
at scala.tools.reflect.ToolBoxFactory$ToolBoxImpl$withCompilerApi$.apply(ToolBoxFactory.scala:354) ~[scala-compiler-2.11.1.jar:na]
昨日は例外なく同じサービスを使用していたため、scala の更新と構成の問題に関連していると思います。
私のbuild.sbt
:
name := """XXXX"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayScala)
scalaVersion := "2.11.1"
dependencyOverrides += "org.scala-lang" % "scala-compiler" % scalaVersion.value
libraryDependencies ++= Seq(
jdbc,
anorm,
cache,
ws,
"org.sorm-framework" % "sorm" % "0.3.18",
"com.typesafe.play" %% "play-mailer" % "2.4.0",
"com.typesafe.play" %% "play-json" % "2.3.7",
"postgresql" % "postgresql" % "9.1-901.jdbc4",
"com.sksamuel.scrimage" %% "scrimage-core" % "1.4.2",
"com.sksamuel.scrimage" %% "scrimage-canvas" % "1.4.2",
"com.sksamuel.scrimage" %% "scrimage-filters" % "1.4.2",
"com.notnoop.apns" % "apns" % "1.0.0.Beta6",
"org.scalatest" % "scalatest_2.11" % "2.2.4" % "test"
)
なぜこれが起こるのですか?
ありがとうございました