3
在我的應用程序,我已經接近以下目錄結構:如何在製作發佈時使鋼筋/ reltool尊重ebin中的子目錄?
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
文件駐留在子目錄(普通,API等)在通常的包裝風格的命名空間。
-module(common.util).
的src/API/server.erl被聲明爲:
-module(api.server).
等 例如,如SRC /普通/ util.erl被聲明。
螺紋鋼編譯完美的作品,並在EBIN產生適當的子目錄樹:
ebin/
api/
server.beam
model.beam
common/
common_stuff.beam
util.beam
some_app.beam
some_server.beam
something_else.beam
some_app.app
但是,螺紋鋼生成只複製頂層文件到相對DIR:駐留在子目錄
rel/some_app/lib/some_app-0.0.2/ebin/
some_app.beam
some_server.beam
something_else.beam
some_app.app
一切不會被複制到發行版。因此,當我嘗試啓動產生的發佈,我立刻得到這樣的錯誤信息:
{"init terminating in do_boot",{'cannot load','api.server',get_files}}
Crash dump was written to: erl_crash.dump
init terminating in do_boot()
我的螺紋鋼產生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]}]}.
不任何人都知道如何讓「鋼筋生成」尊重埃賓的分部?我相信這也可能是reltool的問題。
謝謝。
鏈接被破壞。有關「-module(common.util)」的更多信息。「 [這裏](http://www.erlang.se/publications/packages.html) – csyangchen