我有一个Play2项目,其子模块和结构如下:
+ app
+ models
+ controllers
+ views
+ index.scala.html
+ main.scala.html
+ conf
+ modules
+ frontend
+ app
+ controllers
+ views
+ page.scala.html
我在build.sbt中启用的模块以及根模块和前端模块都可以正常工作,甚至两个模块中的控制器URL都可以在彼此之间反转。
但是我无法从中调用main.scala.html
模板page.scala.html
。当我尝试照常(@main(title) { ...
)调用它时,出现编译错误:not found: value main
。主模板的正确路径是什么?
更新。我认为这应该是SBT解决的问题。我的build.sbt看起来像这样
name := """myproject"""
version := "1.0-SNAPSHOT"
lazy val frontend = (project in file("modules/frontend")).enablePlugins(PlayScala)
lazy val root = (project in file(".")).enablePlugins(PlayScala).aggregate(frontend).dependsOn(frontend)
scalaVersion := "2.11.4"
libraryDependencies ++= Seq(
"org.postgresql" % "postgresql" % "9.3-1102-jdbc41",
jdbc,
anorm,
cache,
ws
)
pipelineStages := Seq(rjs, digest, gzip)
子项目只能使用自己的资源,也可以使用子资源(通过依靠.dependsOn
)。由于您的前端项目不依赖于根项目,因此无法使用其视图模板(子项目之间也不能具有循环依赖性)。
在这种情况下,唯一的解决方案是将视图main.scala.html
模板移到前端模块中,或创建一个“公共”模块作为要使用的前端(以及可能的其他子项目)的基础依赖项。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句