【问题标题】:compilation error when a SIRD is added in the Play application在 Play 应用程序中添加 SIRD 时出现编译错误
【发布时间】:2018-07-29 13:40:44
【问题描述】:

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

我创建了一个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 包,代码将编译并运行。我犯了什么错误?

【问题讨论】:

  • 我认为问题出在名称上。 routes.users 似乎是问题所在。我将其更改为WSRouters.user,一切似乎都奏效了。还在诊断这个。可能routes 用于某些内部目的,这会造成一些冲突。

标签: scala intellij-idea playframework-2.0


【解决方案1】:

是的,正如您所说,问题出在名称上。

我并不完全是确切的细节,但我很确定路由用于反向路由,并且我之前曾尝试制作自己的路由包,但它导致了一个问题,原因与你现在遇到的相同。好像是命名冲突。

来自Play Framework Documentation

【讨论】:

    猜你喜欢
    • 2019-08-14
    • 2018-10-09
    • 2015-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多