发布播放模块 - 文件夹结构要求

时间:2013-12-18 21:07:36

标签: scala playframework-2.2

发布播放模块时(我现在只尝试在本地发布),是否需要具有某种文件夹结构?我已经尝试将我的app文件夹重命名为src并且发布很好,但是在我的build.sbt文件中引用了包之后,编译器找不到包。当我将文件夹重命名为app时,一切正常。

1 个答案:

答案 0 :(得分:0)

模块是一个微型播放应用程序(控制器,视图等),而插件将是在运行时加载的代码,并为应用程序提供某种功能。

默认情况下,模块将是Play Projects,结构非常严格。虽然可以通过修改Buildfile中的设置来覆盖这些值,但最佳做法往往是维护此结构。

  • 所有来源都在 / App

  • / Conf

  • 中的应用配置和常规资源
  • / Project

  • 中构建设置
  • 静态资源通常位于 / Public ,但可以配置为路径的一部分。

一些模块包括插件;一个很好的例子就是SecureSocial - 你可以看到它遵循标准的Play项目结构,但也包括像IdentityProvider and its subclasses

这样的插件

让我们花点时间看一下构建插件方面的内容:

创建插件:

这包括几个步骤:

  • 创建一个扩展play.api.Plugin的类;此类应包含您需要或想要执行的任何初始化逻辑;把它想象成特定于模块的GlobalSettings。

Plugins.scala的一个例子:

class MyPlugin(app: Application) extends Plugin {
    override def onStart() = {
    Logger.info("Plugin started!")
  }
}
  • 在conf目录中创建一个引用该类的 play.plugins 文件;优先考虑。这将导致插件加载到开始。

  • 正常设置您的路线和控制器和视图;它们可以像您期望的那样被引用。

Deabolt-2 - 没有任何插件的标准模块。

Play-JDBC - Play中包含的插件

希望能够深入了解构建可重用,可共享的Play代码的各种选项。

快乐发展!