迁移到 2.4 后 Play 的路由文件出现问题

Problems with Play's routing file after migrating to 2.4

我将我的 java 播放框架应用程序迁移到播放 2.4 并且 运行 遇到了更改路由器的问题。我收到此错误消息:

[NullPointerException: null]
In /home/apps/kikstar/target/scala-2.11/routes/main/router/Routes.scala:957

954    // @LINE:77
955    case controllers_Application_login35_route(params) =>
956      call { 
957        controllers_Application_login35_invoker.call(Application_1.login())
958      }
959  
960    // @LINE:80
961    case controllers_Application_javascriptRoutes36_route(params) =>
962      call { 

路由器中的线路如下所示:

POST        /login                            controllers.Application.login()

和前端调用

@(rootForm: Form[Root])

  @helper.form(action = routes.Application.login(), 'id -> "userform") {
    @helper.inputText(rootForm("username"))
    @helper.inputPassword(rootForm("pass"))
    <input type="submit" value="Login">
  }

和Application中的方法

public Result login() {
    Form<Root> filledForm = rootForm.bindFromRequest();
    Root created = filledForm.get();
    Logger.info(created.username + " " + created.pass);
    ...
}

其他所有路线都正常。这是唯一通过表单助手调用的路由。

啊,虽然我很喜欢玩,但我不喜欢这样的东西,而且它们通常出现在迁移等之后。我不确定原因,是 IDE 还是 SBT。我相信调用 sbt clean compile 应该可以解决问题或清除 IDE 缓存(如果有的话)。我假设你经历了 Migration guide .