После внесения следующего изменения для обновления с игровой платформы 2.3 до игры 2.4:
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.4.3")
также для версии sbt:
sbt.version=0.13.8
Я получил следующую ошибку:
trace] Stack trace suppressed: run last myProject-app-server/compile:playRoutes for the full output.
[error] (myProject-app-server/compile:playRoutes) java.lang.NoSuchMethodError: play.routes.compiler.inject.twirl.forwardsRouter_Scope0$forwardsRouter._display_(Ljava/lang/Object;Lscala/reflect/Manifest;)Lplay/twirl/api/Appendable;
как я понял из моего исследования NoSuchMethodError связано с конфликтом версий, кроме того, в журнале компиляции отображается предупреждение о конфликте версий, например:
warn] Multiple dependencies with the same organization/name but different versions. To avoid conflict, pick one version:
[warn] * org.scala-lang:scala-compiler:(2.11.4, 2.11.11)
[warn] * org.scala-lang:scala-reflect:(2.11.4, 2.11.11)
[warn] * org.scala-lang.modules:scala-parser-combinators_2.11:(1.0.2, 1.0.4)
[warn] * org.scala-lang.modules:scala-xml_2.11:(1.0.2, 1.0.5)
так вот файл sbt:
ullResolvers := Seq(
projectResolver.value,
Resolver.defaultLocal,
"meta-maven" at "http://artifactory/artifactory/meta-maven",
Resolver.url("meta-ivy", url("http://artifactory/artifactory/meta-ivy"))(Resolver.ivyStylePatterns))
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.13.0")
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.4.3")
addSbtPlugin("com.typesafe.sbt" % "sbt-twirl" % "1.0.4")
addSbtPlugin("com.typesafe.sbt" % "sbt-coffeescript" % "1.0.0")
addSbtPlugin("com.typesafe.sbt" % "sbt-less" % "1.0.4")
addSbtPlugin("com.typesafe.sbt" % "sbt-license-report" % "1.2.0")
как я вижу из файлов Jar:
пакет класса forwardsRouter play.routes.compiler.static.twirl не содержит метод отображения. Я не понимаю, зачем play нужен этот метод и можно ли его перенести в другой пакет?