【发布时间】:2016-07-31 02:45:50
【问题描述】:
我目前正在处理两个 SBT 子项目:persistence 和 silhouette,其中 dependsOn persistence。我遇到了silhouette 测试类路径的问题。
persistence 测试运行良好。该子项目在model.persistence 包中声明了一些类。 silhouette 子项目在同一个包中定义了其他类。在运行测试时,silhouette 子项目中的其他类不会解析这些额外的类。
大部分错误是这样的:
Error:(7, 31) object routes is not a member of package controllers.silhouette
import controllers.silhouette.routes.{ ActivateAccountController => ActivateRoutes, SignInController => SignInRoutes }
Error:(18, 19) object silhouette is not a member of package views.html
import views.html.silhouette.{ emails => htmlEmail }
我可以看到 silhouette 子项目中的 Twirl 视图和路由已生成。 silhouette 子项目没有拾取它们,这很奇怪。
以下是 SBT 子项目定义:
lazy val silhouette: Project = project.in(file("modules/silhouette"))
.configure(webappConfiguration)
.dependsOn(persistence)
.aggregate(persistence)
.settings(
libraryDependencies ++= silhouetteDependencies,
javaOptions += "-Dplay.http.router=silhouette.Routes",
javaOptions in Runtime += "-Dconfig.file=../silhouette/conf/silhouette.application.conf",
javaOptions in Test += "-Dconfig.file=../silhouette/test/resources/test.silhouette.application.conf"
)
addCommandAlias("testSilhouette", "; project silhouette; test")
lazy val persistence: Project = project.in(file("modules/persistence"))
.configure(commonConfiguration)
.settings(
libraryDependencies ++= persistenceDependencies,
javaOptions in Runtime += "-Dconfig.file=../model/src/main/resources/persistence.application.conf",
javaOptions in Test += "-Dconfig.file=../model/src/test/resources/test.model.application.conf"
)
Here is a working project 说明问题。
$ sbt ";project persistence; test" # works
$ sbt ";project silhouette; test" # fails as described
【问题讨论】:
标签: playframework-2.0 sbt