Erlang服务的目录布局?

时间:2020-03-06 14:34:45  来源:igfitidea点击:

在我们的Java应用程序中,我们通常使用Maven约定(docs,src / java,test等)。对于Perl,我们仅使用最容易添加到Perl的@INC的顶级" lib"来遵循类似的约定。

我将要开始创建用Erlang编写的服务,对于Erlang应用程序来说,什么是好的源布局?

解决方案

Erlang推荐的标准目录结构可以在这里找到。

此外,根据项目,我们可能还需要一些目录,常见的目录是(归于Vance Shipley):

lib:        OS driver libraries
    bin:        OS executables
    c_src:      C language source files (e.g. for drivers)
    java_src:   Java language source files
    examples:   Example code
    mibs:       SNMP MIBs

Mochiweb之类的其他项目都有其自己的结构,Mochiweb甚至具有一个脚本来为我们创建所有内容。其他项目(如Erlware)覆盖在标准结构上。

另一个关键目录是priv目录。在这里,我们可以存储可以从应用程序中轻松找到的文件。

code:priv_dir(Name) -> string() | {error, bad_name}

其中Name是应用程序的名称。

Erlware正在改变,几天之内Erlware的结构将完全与Erlang OTP的结构相同。实际上,应用程序包的结构已经完全是OTP的结构,并且如上所述。将会发生的变化是,已安装Erlware的目录结构将完全适合现有的Erlang / OTP安装(当然,虽然不需要安装Erlware),现在可以使用Erlware轻松地将软件包添加到现有的安装中。

干杯,
马丁