玩框架 2.3.x 子项目 Global.java

Play framework 2.3.x subproject Global.java

我有一个 play 2.3.10 应用,有几个结构:

├── app
│   └── Global.java
├── build.sbt
├── conf
│   ├── application.conf
│   ├── messages
│   ├── play.plugins
│   ├── routes
├── modules
│   ├── common
│   ├── frontend
│   ├── backend
├── project
│   ├── build.properties
│   ├── Common.scala
│   ├── plugins.sbt

modules/frontend/app/ 里面我有 FrontendGlobal.java。现在我在基础项目文件夹中 运行“activator”,然后是“project frontend”,最后是“” 运行

该子项目的播放应用程序已启动,但没有执行全局文件。我以为 root Global.java 将被执行,但是在 @onStart 中添加跟踪不会打印任何内容。即使将文件 FrontendGlobal.java(在 modules/frontend/app 中)更改为 Global.java 也没有任何效果。

这里有什么问题?

作为附加信息,我的基础项目 build.sbt 包含:

lazy val common = project.in(file("modules/common")).enablePlugins(play.PlayJava)
lazy val frontend = project.in(file("modules/frontend")).enablePlugins(play.PlayJava).dependsOn(common)
lazy val backend = project.in(file("modules/backend")).enablePlugins(play.PlayJava).dependsOn(common)
lazy val root = (project in file(".")).enablePlugins(play.PlayJava).dependsOn(common, frontend, backend).aggregate(common, frontend, backend)

已更新:只是我的错,在前端-application.conf我有application.global=globals.FrontendGlobal

每个项目应该只包含一个Global.java(因为它们只能有一个application.confroutes。子项目可以有一个Subproject-Global.java,你可以参考它来自项目 application.conf (subproject-application.conf) 如下:

application.global=Subproject-Global