如何在 Chicago Boss 中自动启动 deps 应用程序?

How to start deps application automatcially in Chicago Boss?

我不知道如何在 Chicago Boss 中自动启动 "deps" 应用程序。

使用applcation:which_applications() 我可以看到一堆开始像"lager, ranch, cowboy ..etc etc"。我如何开始另一个我添加的?

如果我转到控制台 运行 application:start(oauth2) 就可以了。我可以启动它。

但我尝试更改 src/xxx.app.src 并将其添加到 {applications,[]},但没有成功。这不是 load/start 我所依赖的任何应用程序的地方吗?

但我也找不到老板如何加载和启动所有其他应用程序。

顺便说一下,这个 oauth2 应用程序不包含应用程序行为文件 (oauth2_app.erl),所以我不知道这是否相关。因为我可以手动启动它。

所以,困惑。任何帮助将不胜感激。

另外:我记得我确实通过将 application:start(xxx) 添加到 /priv/init/xxx_01_news.erl init 函数中来启动应用程序,但我认为这非常 hackish。

您可以使用 rebar.config 添加您的依赖应用程序,然后以这种方式编辑 boss.config 文件:

  • 首先:在applications.
  • 中添加依赖应用名称
  • 其二:添加自己的具体配置如下

boss.config 文件:

[
   {boss, [
      {path, "./deps/boss"},
      {applications, [your_app_name, your_app_dep_1, your_app_dep_2]},
      {assume_locale, "en"},

%% ... other configuration

%% APPLICATION CONFIGURATIONS
   {your_app_name, []},
   {your_app_dep_1, []},
   {your_app_dep_2, []}                                                                                                                                                                  
].                  

编辑: 这样 CB 期待另一个 boss 应用程序,因此查找路由器文件并在找不到时发出警告。然而,在其 init 函数中启动依赖项并不是一种肮脏的方式,我建议考虑一下。