私のアプリでは、私は次のように近いディレクトリ構造を持っている:リリース時に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
ファイルのサブディレクトリ(一般的な、APIなど)に存在し、通常のパッケージスタイルで名前空間されています。 は、例えば、SRC /共通/ util.erlが宣言されているとして:ように
-module(api.server).
と:
-module(common.util).
SRC/API/server.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
しかし、鉄筋は、相対ディレクトリにコピーするだけトップレベルのファイルを生成します。サブディレクトリに存在する
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]}]}.
ん私は生成されたリリースを起動しようとするとこのように、私はすぐにエラーメッセージのこの種を取得します誰かがebinのサブディレクトリを "rebar generate"する方法を知っていますか?私はこれもreltoolの問題かもしれないと信じています。
ありがとうございました。それは実験的な機能となって5年以上前に導入されて以来のみフラットアプリケーションの構造がよくアーランによってサポートされている
リンクが壊れています。 "-module(common.util)"の詳細については、こちらをご覧ください。 [ここ](http://www.erlang.se/publications/packages.html) – csyangchen