我在Erlang doc和learnyousomeerlang.com中找到了这些描述,但不确定哪一个是“应用程序资源文件”。我什么时候应该使用.app和.app.src?
7.3应用程序资源文件 http://www.erlang.org/doc/design_principles/applications.html
应用程序资源文件 http://learnyousomeerlang.com/building-otp-applications
答案 0 :(得分:14)
.app
文件(在ebin/
中)是Erlang VM加载OTP应用程序所必需的文件。它必须包含诸如应用程序的依赖项,它包含的模块,版本等字段。
特别是,应用程序的模块列表很难维护,但还有其他东西可以动态添加。人们用填充的静态内容写.app.src
个文件(在src/
中),这样他们选择的构建工具(rebar,rebar3,erlang.mk等)可以用什么来填充动态部分他们想要的,比如在磁盘上找到的模块。
这样可以实现更简化的开发流程,并且可以手工处理和维护更少的东西。
答案 1 :(得分:3)
我的理解是OTP应用程序应该在 ebin 目录中包含 application.app 文件以及编译的beam-files。
在 src 目录中保留 application.app.src 文件(与 ebin 目录中的文件相同)是可选,但可以让构建过程生成 application.app 文件。