2017-01-20 16 views
0

我编写了一个非常简单的OTP应用程序A.由于erlang.mk,此应用程序的默认设置在.app文件中设置。覆盖otp应用程序依赖关系的设置/环境的正确方法

我现在正在使用我的应用程序A作为新应用程序B中的依赖项。此应用程序需要与默认设置不同的设置。

什么是我的应用程序B覆盖其依赖项,环境应用程序A的正确方法?

一些想法:

  • 由于A由B所需要,A首先被启动,因此应用:set_env/3不会削减它。
  • 如果可能的话,我想避免搞乱启动参数,如-config或直接在启动命令中传递环境。

回答

1

怎么样把A分成A1和A2。

  • A1是A的 “configurationless” 版本,
  • A2依赖于A1,并为它提供了必要的环境,以满足相同的服务A.

那么B会做同样的与A1,直接或通过第三个应用程序A3。

+0

你是否想将我的第一个应用程序改为库? – ITChap

+0

如果可行,是的。 – Pascal

+0

它会在我的具体情况下工作,因为我自己写了应用程序A.我希望有更通用的东西,我也可以使用第三方依赖关系。无论如何,因为它在我的情况下工作,如果没有人出现任何更通用的东西,我会接受你的答案。 – ITChap