我正在使用Intellij Idea + Play 2.6.0 + com.google.code.play2-maven-plugin
来设置开发环境。
-
我的控制器类
HomeController
放置在以下结构中(app
是源根目录)app controllers HomeController
代码为:
package controllers
import javax.inject._
import play.api.mvc._
@Singleton
class HomeController @Inject()(cc: ControllerComponents) extends AbstractController(cc) {
def index = Action {
Ok("Hello,World")
}
def count = Action {
Ok("10")
}
}
routers
文件是:GET / controllers.HomeController.index GET /count controllers.HomeController.count
当我运行 maven 目标:play2:run
时,服务器启动,当我 访问http://localhost:9000/ or http://localhost:9000/count
,每个都说Action Not Found for request '/'
和Action Not Found for request '/count'
您的控制器类名称是HomeController2,但您的路由器指向控制器。主控制器。
选择解决方案:)
- 将路由更改为HomeController2.count 和 HomeController2.index(在本例中,控制器源代码正常)
- 或者将类移动到控制器包(将包控制器添加到源代码的顶部)并将其重命名为 HomeController(在这种情况下,路由是正确的)
找出问题所在,pom.xml
应该使用<packaging>play2</packaging>
,
HomeController
的例子是从 https://github.com/play2-maven-plugin/play2-maven-test-projects/tree/master/play26/scala/starter-example 中学到的
感谢@balage帮助解决问题。