在Play应用程序中添加SIRD时出现编译错误

时间:2018-02-19 10:31:53

标签: scala intellij-idea playframework-2.0

我有一个使用Play编译路线的工作项目。我想添加SIRD路由来处理一些Web服务。编译后的路线将会停留。

我创建了一个routes.users包,并在其中添加了以下UserRoutes scala类。

package routes.users
import javax.inject.Inject
import play.api.mvc._
import play.api.routing.Router.Routes
import play.api.routing.SimpleRouter
import play.api.routing.sird._
import controllers.UserController

class UserRouter @Inject()(controller:UserController) extends SimpleRouter {

  override def routes:Routes = {
    case GET(p"/users/add") => controller.addUser();
  }

当我尝试编译代码时,出现以下错误。

error] error writing routes/users/UserRouter: C:\...\target\scala-2.12\classes/routes/users/UserRouter.class: C:\...\target\scala-2.12\classes\routes is not a directory
[error] error writing routes/users/UserRouter$$anonfun$routes$1: C:\...\target\scala-2.12\classes/routes/users/UserRouter$$anonfun$routes$1.class: C:\...\target\scala-2.12\classes\routes is not a directory
[error] two errors found
[error] (compile:compileIncremental) Compilation failed

如果删除routes.users包,代码会编译并运行。我犯了什么错误?

1 个答案:

答案 0 :(得分:0)

是的,正如您所评论的那样,问题在于名称。

我并不完全是确切的细节,但我很确定路由用于反向路由,我之前尝试制作自己的路由包,但由于你现在的原因,它引起了一个问题。似乎是命名冲突。

来自Play Framework Documentation