내 응용 프로그램에서 나는 다음과 유사한 dir 구조를 가지고있다.릴리스를 만들 때 ebin에서 rebar/reltool 존중 서브 디렉토리를 만드는 방법은 무엇입니까?
src/
api/
server.erl
model.erl
common/
common_stuff.erl
util.erl
some_app.erl
some_server.erl
something_else.erl
some_app.app.src
subdirs (common, api 등)에있는 파일은 일반적인 패키지 스타일로 네임 스페이스로되어있다. 예를 들어, src/common/util.erl은 다음과 같이 선언됩니다.
-module(common.util).
src/api/server.erl은
-module(api.server).
등으로 선언됩니다.
서브 디렉토리에있는 모든 요소는 다음과 같은 경우에만 사용할 수 있습니다. 릴리스로 복사되지 않습니다. 따라서 생성 된 릴리스를 시작하려고하면 다음과 같은 오류 메시지가 즉시 나타납니다.
{"init terminating in do_boot",{'cannot load','api.server',get_files}}
Crash dump was written to: erl_crash.dump
init terminating in do_boot()
내 rebar 생성 ebin/some_app.app가 필요한 모든 모듈을 나열합니다.
{application,some_app,
[{description,"0.0.2"},
{vsn,"0.0.2"},
{registered,[]},
{applications,[kernel,stdlib,sasl]},
{mod,{some_app,[]}},
{env,[]},
{modules,['api.server','api.model','common.common_stuff',
'common.util', some_app, some_server,
something_else]}]}.
아무도 "철근을 생성하는"방법을 알고 ebin의 하위 디렉토리를 존중합니까? 나는 이것이 reltool의 문제 일 수도 있다고 생각한다.
감사합니다.
링크가 끊어졌습니다. 자세한 정보는 "-module (common.util)." [여기] (http://www.erlang.se/publications/packages.html) – csyangchen