I am writting application in Play Framework using submodules:
- common
- shopping
- ctd
I would like to have in my view link to view from other module. /modules/common/app/views/choose.scala.html:
@main() { <a href="@controllers.common.routes.Index.index">common module</a> <a href="@controllers.shopping.routes.Index.index">shopping module</a> }
That code gives me an error:
Compilation error object shopping is not a member of package controllers <a href="@controllers.shopping.routes.Index.index">
Please help me. How can I make this code compile correctly?
My main routes file:
# Include sub projects -> / common.Routes -> /cirs ctd.Routes -> /shopping shopping.Routes
My shopping.routes file:
GET / controllers.shopping.Index.index()
Problem lies with that the play framework dosnt see my controllers route that are in other package than the view that I call from an other module views. How can I fix it?
My eclipse ide sees my other modules, so I can choose them, but it dosnt compile:
And compilation output:
[info] Compiling 1 Scala source to /home/korbeldaniel/Aplikacje/Eclipse/SVP/modules/common/target/scala-2.10/classes... [error] /home/korbeldaniel/Aplikacje/Eclipse/SVP/modules/common/app/views/AppChooser.scala.html:26: object shopping is not a member of package controllers [error] <a href="@controllers.shopping.routes.Index.index()"> [error] ^ [error] one error found [error] (common/compile:compile) Compilation failed [error] application - ! @6jhoo2i44 - Internal server error, for (GET) [/aplikacje] -> play.PlayExceptions$CompilationException: Compilation error[object shopping is not a member of package controllers] at play.PlayReloader$$anon$1$$anonfun$reload$2$$anonfun$apply$14$$anonfun$apply$16.apply(PlayReloader.scala:304) ~[na:na] at play.PlayReloader$$anon$1$$anonfun$reload$2$$anonfun$apply$14$$anonfun$apply$16.apply(PlayReloader.scala:304) ~[na:na] at scala.Option.map(Option.scala:145) ~[scala-library.jar:na] at play.PlayReloader$$anon$1$$anonfun$reload$2$$anonfun$apply$14.apply(PlayReloader.scala:304) ~[na:na] at play.PlayReloader$$anon$1$$anonfun$reload$2$$anonfun$apply$14.apply(PlayReloader.scala:298) ~[na:na] at scala.Option.map(Option.scala:145) ~[scala-library.jar:na]
my main build.sbt file:
import play.Project._ import sbt._ import Keys._ name := "svp" playJavaSettings version := "2.0.0_(20140725)" libraryDependencies ++= Seq( javaJdbc, javaJpa, "org.hibernate" % "hibernate-entitymanager" % "3.6.9.Final", "mysql" % "mysql-connector-java" % "5.1.27", "org.mindrot" % "jbcrypt" % "0.3m", cache ) lazy val common = project.in(file("modules/common")) lazy val cirs = project.in(file("modules/cirs")) lazy val shopping = project.in(file("modules/shopping")) lazy val admin = project.in(file("modules/admin")) val main = project.in(file(".")) .dependsOn(common).aggregate(common) .dependsOn(cirs).aggregate(cirs) .dependsOn(shopping).aggregate(shopping) .dependsOn(admin).aggregate(admin)