I have a completely functional Java Play 2.0.4 application working just fine that I'm trying to migrate to 2.1
I followed the Migration Guide and implemented all the changes. The app compiles and starts correctly. However, when I try to access any page I getting a NoSuchFieldError:
play.api.Application$$anon$1: Execution exception[[RuntimeException: java.lang.NoSuchFieldError: Application]]
Of course the Application controller exists and the route is defined in conf/routes (as it was before the migration on the working 2.0.4 version).
From the stack trace, I suspect it has something to do with the router. Here's the full trace:
play.api.Application$$anon$1: Execution exception[[RuntimeException: java.lang.NoSuchFieldError: Application]]
at play.api.Application$class.handleError(Application.scala:289) ~[play_2.10.jar:2.1.0]
at play.api.DefaultApplication.handleError(Application.scala:383) [play_2.10.jar:2.1.0]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anon$2$$anonfun$handle$1.apply(PlayDefaultUpstreamHandler.scala:132) [play_2.10.jar:2.1.0]
at play.core.server.netty.PlayDefaultUpstreamHandler$$anon$2$$anonfun$handle$1.apply(PlayDefaultUpstreamHandler.scala:128) [play_2.10.jar:2.1.0]
at play.api.libs.concurrent.PlayPromise$$anonfun$extend1$1.apply(Promise.scala:113) [play_2.10.jar:2.1.0]
at play.api.libs.concurrent.PlayPromise$$anonfun$extend1$1.apply(Promise.scala:113) [play_2.10.jar:2.1.0]
java.lang.RuntimeException: java.lang.NoSuchFieldError: Application
at play.libs.F$Promise$6.apply(F.java:401) ~[play_2.10.jar:2.1.0]
at scala.concurrent.Future$$anonfun$map$1.liftedTree2$1(Future.scala:253) ~[scala-library.jar:na]
at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:249) ~[scala-library.jar:na]
at scala.concurrent.Future$$anonfun$map$1.apply(Future.scala:249) ~[scala-library.jar:na]
at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:29) ~[scala-library.jar:na]
at akka.dispatch.BatchingExecutor$Batch$$anonfun$run$1.liftedTree1$1(BatchingExecutor.scala:67) ~[akka-actor_2.10.jar:na]
Caused by: java.lang.NoSuchFieldError: Application
at views.html.login$.apply(login.template.scala:54) ~[na:na]
at views.html.login$.render(login.template.scala:109) ~[na:na]
at views.html.login.render(login.template.scala) ~[na:na]
at controllers.Application.login(Application.java:38) ~[na:na]
at Routes$$anonfun$routes$1$$anonfun$applyOrElse$1$$anonfun$apply$1.apply(routes_routing.scala:241) ~[na:na]
at Routes$$anonfun$routes$1$$anonfun$applyOrElse$1$$anonfun$apply$1.apply(routes_routing.scala:241) ~[na:na]
And this is my Build.scala file:
import sbt._
import Keys._
import play.Project._
object ApplicationBuild extends Build {
val appName = "rossirixweb"
val appVersion = "1.0-SNAPSHOT"
val appDependencies = Seq(
javaCore,
javaJdbc,
javaEbean,
"org.apache.xmlrpc" % "xmlrpc" % "3.0",
"commons-httpclient" % "commons-httpclient" % "3.1",
"com.google.code.gson" % "gson" % "2.2.2",
"junit" % "junit" % "4.11",
"org.mongodb" % "mongo-java-driver" % "2.8.0",
"org.jongo" % "jongo" % "0.3",
"mysql" % "mysql-connector-java" % "5.1.22",
"com.typesafe" %% "play-plugins-mailer" % "2.1.0",
"be.objectify" %% "deadbolt-java" % "2.1-RC2"
)
val main = play.Project(appName, appVersion, appDependencies).settings(
resolvers += Resolver.url("My GitHub Play Repository", url("http://alexanderjarvis.github.com/releases/"))(Resolver.ivyStylePatterns),
resolvers += Resolver.url("Objectify Play Repository", url("http://schaloner.github.com/releases/"))(Resolver.ivyStylePatterns),
resolvers += Resolver.url("Objectify Play Snapshot Repository", url("http://schaloner.github.com/snapshots/"))(Resolver.ivyStylePatterns)
)
}
I can“t get the app up and running.
Any ideas? Thanks!
Update: I added the full Build.scala file for reference.
Build.scalafile. - mabaNoSuchFieldErrorso what about the template file. Do you have any references to a field called Application? - mabaroutes.Application.login(). Needless to say, these controllers and action exist (in fact this is theApplicationcontroller. - monsieurBelboplay runbut not withplay start- monsieurBelbo