【问题标题】:PlayPlugin onApplicationStart does not workPlayPlugin onApplicationStart 不起作用
【发布时间】:2012-01-26 05:47:14
【问题描述】:

我尝试在其中编写一个小的 playframework-module 和一个插件,并希望确保它会在我启动应用程序时启动。

[myapp] -- 使用 --> [registration(module)].[plugin(RegistrtionPlugin)]

我的插件类已经放在 /src/play/modules/registration 的模块源中

public class RegistrationPlugin extends PlayPlugin {
    public void onApplicationStart() {
        Logger.info("Yeeha, firstmodule started");
    }
}

我在我的应用程序中依赖这个模块,当我玩 deps 时 - 它告诉我一切都很好。或者当我在我的 app-home 文件夹中输入控制台时:播放注册:你好 - 它回复我“你好”。

我从 PlayFramework Cook 书(第 5 章)中获得了此代码,但无法使其按预期工作。

【问题讨论】:

    标签: java module playframework


    【解决方案1】:

    您是否已将 play.plugins 文件添加到配置 RegistrationPlugin 插件的模块 src 文件夹中?

    例如 play.plugins弹簧插件看起来像这样:

    1000:play.modules.spring.SpringPlugin
    

    您还可以深入了解spring plugin

    在模块可以使用之前,必须执行以下命令:

    play build-module
    

    【讨论】:

    • 是的,我做到了...我在阅读该章时添加了所有内容。但不起作用。但我没有在这个简单的应用程序中使用 spring,bwt。
    • 我可以想象您可能错过了一些其他步骤。你有没有例如忘记运行 play build-module? (已更新我的描述)。如果不是,您还可以粘贴您的dependency.yml 配置吗?可能有错误。
    • 我做到了。但是我的应用程序的 /lib 目录中没有任何新文件,就像书中描述的那样。我在模块的 /disrt 目录中只有 zip 文件。
    • 嗯,我不知道这本书到底写了什么。但是,不需要将库添加到库中。但是,modules 文件夹中应该有一个指向您的模块的文本文件。如果没有,则您的dependency.yml 中可能有错误。或者您是否使用 application.conf 文件来配置您的模块?最好看看您使用的配置(dependency.yml 或 application.conf)。
    【解决方案2】:

    尝试将您的 RegistrationPlugin 移动到常规 /app 文件夹

    不要忘记在 /src/play.plugins 文件中包含插件路径。

    f.e. 1000:注册插件

    如果 RegistrationPlugin 在默认包中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-03-10
      • 1970-01-01
      • 2016-03-13
      • 1970-01-01
      • 1970-01-01
      • 2016-09-12
      • 1970-01-01
      相关资源
      最近更新 更多