Erlang 中的 .app 和 .app.src 文件有什么区别?

What is the difference between .app and .app.src files in Erlang?

我在 Erlang 文档和 learnyousomeerlang.com 中找到了这些描述,但不确定 "Application Resource File" 是哪一个。什么时候应该使用 .app 和 .app.src?

7.3 应用资源文件 http://www.erlang.org/doc/design_principles/applications.html

应用程序资源文件 http://learnyousomeerlang.com/building-otp-applications

我的理解是OTP应用程序在ebin目录下应该有application.app文件和编译好的beam -文件。

src 目录是可选的,但对于让构建过程生成 application.app 文件很有用。

.app 文件(在 ebin/ 中)是 Erlang VM 加载 OTP 应用程序所必需的文件。必须包含应用的依赖关系、包含的模块、版本等字段。

特别是,应用程序的模块列表维护起来很乏味,但还有其他可以动态添加的东西。人们编写 .app.src 文件(在 src/ 中)并填充静态内容,以便他们选择的构建工具(rebar、rebar3、erlang.mk 等)可以填充动态部分随心所欲,例如在磁盘上找到的模块。

这允许更简化的开发流程,减少了需要手动处理和维护的东西。