Erlang中与Java JAR文件等效的内容是什么?

5

这是一个Java程序员学习Erlang时的完全新手问题。在Erlang中,有没有类似于Java JAR文件的东西,可以用来包含第三方库到Erlang应用程序中?

前几天,我将mochijson2.erl复制到我的项目中,它可以工作,但我想知道在Erlang世界中是否有更好/更正式的方法来发现和包含库。


1
你是在询问打包还是依赖管理?这两个问题相关但又不同。 - chrylis -cautiouslyoptimistic-
1个回答

5
如果您熟悉Maven(或其类似物),那么Erlang的类比物是Rebar
您可以创建一个rebar.config文件(类似于POM文件),其中包含以下内容。
{deps, [
  {mochiweb, "2.9.0", {git, "https://github.com/mochi/mochiweb.git", {tag, "v2.9.0"}}}
]}.

然后执行 rebar get-deps && rebar compile 命令将会获取 mochiweb(以及它声明的任何依赖项),构建这些依赖项,并且构建你自己的代码。


谢谢,我想假设被拉取的依赖必须符合rebar的约定。我可能要求太多了,但是有没有一种将临时的erlang项目结构转变为rebar兼容的结构,并且更易于与他人分享的方法?对像我这样的初学者来说非常有用。 - Ranjit Iyer
只要您的项目结构符合 OTP 标准,它就可以与 Rebar 一起使用。此外,在这里,如果您想编译项目,您不一定需要 rebar.config(就像在 Maven 中必须有 pom.xml 一样),尽管它会给您带来很多可能性。您只需拥有一个包含源代码的 /src 文件夹和一个 *.app.src 文件即可正常工作。 - rpozarickij

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接