从play2.3升级到播放2.4后出现错误

时间:2019-06-19 08:31:32

标签: scala sbt playframework-2.4

进行以下更改以从Play框架2.3升级到Play 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不包含显示方法。我不明白为什么游戏需要这种方法,并且可以将其转移到另一个程序包中吗?

0 个答案:

没有答案
相关问题