【问题标题】:Play! 2.2 Subproject Split Routing玩! 2.2 子项目拆分路由
【发布时间】:2014-02-01 03:01:35
【问题描述】:

我正在拆分 Scala/Play! 2.2 项目成模块。路由拆分无法编译,但实际的源代码似乎可以编译。这是我认为与问题相关的代码:

/build.sbt

import play.Project._

name := "edshare_play"

Common.settings

playScalaSettings

libraryDependencies ++= Common.libraryDependencies

routesImport += "_root_.utils.binders._"

resolvers ++= Common.resolvers

scalacOptions ++= Common.scalacOptions

Keys.fork in Test := false

lazy val root = project.in(file("."))
                       .aggregate(core, edmoderator)

lazy val edmoderator = project.in(file("modules/edmoderator"))
                              .dependsOn(core)

lazy val core = project.in(file("modules/core"))

/conf/routes

# Moderation API
->  /api/edmoderation               edmoderator.Routes

# Core API
->  /api                            core.Routes

/modules/edmoderator/conf/edmoderator.routes

GET     /:entity               controllers.edmoderator.Moderation.getUnmoderated(entity)
PUT     /:entity/:id           controllers.edmoderator.Moderation.moderateDocument(entity, id)

/modules/core/conf/core.Routes

GET     /entity/:entity                     controllers.Entity.list(entity)

编译器输出如下:

[error] /Users/user/dev/project/play/conf/routes:6: not found: value edmoderator
[error] ->  /api/edmoderation               edmoderator.Routes
[error] /Users/user/dev/project/play/conf/routes:9: not found: value core
[error] ->  /api                            core.Routes
[error] /Users/user/dev/project/play/conf/routes: not found: value edmoderator
[error] /Users/user/dev/project/play/conf/routes:9: not found: value edmoderator
[error] ->  /api                            core.Routes
[error] /Users/user/dev/project/play/conf/routes:6: not found: value handler
[error] ->  /api/edmoderation               edmoderator.Routes
[error] /Users/user/dev/project/play/conf/routes:9: not found: value handler
[error] ->  /api                            core.Routes
[error] 6 errors found

我认为我可能在某个地方犯了一个简单的错误,但我找不到它。提前感谢您的任何指点。

【问题讨论】:

    标签: scala playframework


    【解决方案1】:

    我相信您的配置中缺少以下内容:

    lazy val root = project.in(file("."))
                            .aggregate(core, edmoderator)
                            .dependsOn(core, edmoderator)
    

    而不仅仅是:

    lazy val root = project.in(file("."))
                           .aggregate(core, edmoderator)
    

    您可以在此处查看示例:

    https://github.com/cnicodeme/play2.2-subproject

    【讨论】:

    • 是的,完全有道理。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多