My Play Framework过去一直工作,直到我重建项目。然后我收到了这个错误。
我的问题正是这个post中描述的问题。
这是另一个post中的最佳答案。
默认情况下,播放2.4生成依赖注入路由器,不像 以前,当它使用静态路由器时。你有两个选择,删除 来自build.sbt的routesGenerator行如此播放将生成静态 路由器,或(更好)使您的控制器类而不是对象, 并使用依赖注入。
这对我也没有用。没有routesGenerator行build.sbt。 HomeController已经是一个类。
build.sbt
name := """BookStoreApp"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayJava)
scalaVersion := "2.12.2"
libraryDependencies += guice
// Test Database
libraryDependencies += "com.h2database" % "h2" % "1.4.194"
// Testing libraries for dealing with CompletionStage...
libraryDependencies += "org.assertj" % "assertj-core" % "3.6.2" % Test
libraryDependencies += "org.awaitility" % "awaitility" % "2.0.0" % Test
// Make verbose tests
testOptions in Test := Seq(Tests.Argument(TestFrameworks.JUnit, "-a", "-v"))
家庭控制器
package controllers;
import play.mvc.*;
import views.html.*;
public class HomeController extends Controller {
public Result startGame() {
return ok(gameView.render());
}
public Result statsPage(){
return ok(statsView.render());
}
}
答案 0 :(得分:0)
没有routesGenerator行build.sbt。 HomeController已经是一个类。
因此您需要将该行添加到build.sbt
routesGenerator := InjectedRoutesGenerator
此行默认为2.5(可以省略),但在2.4中,如果要使用DI控制器,则必须在built.sbt
。
你想要,因为你写public Result startGame()
但是public static Result startGame()