2

Erlangプログラムにアプリケーションを書こうとしています。

私はtest_app.erlを持っています:

-module(test_app).

-behaviour(application).

%% Application callbacks
-export([start/2, stop/1]).

start(_Type, _StartArgs) ->
    test_sup:start_link().

stop(_State) ->
  ok.

そして.appファイル:

{application, test,
  [{description, "test system."},
  {vsn, "1.0"},
  {modules, [test_app, test_sup, fsm]},
  {registered, [test_sup, fsm]},
  {applications, [kernel, stdlib]},
  {mod, {test_app, []}}
]}.

アプリケーションを起動しようとすると:

application:start(test).

エラーが発生します:

=INFO REPORT==== 18-Feb-2011::19:38:53 ===
    application: test
    exited: {bad_return,
                {{test_app,start,[normal,[]]},
                 {'EXIT',
                     {undef,
                         [{test_sup,start_link,[[]]},
                          {test_app,start,2},
                          {application_master,start_it_old,4}]}}}}
    type: temporary
{error,{bad_return,{{test_app,start,[normal,[]]},
                    {'EXIT',{undef,[{test_sup,start_link,[[]]},
                                    {test_app,start,2},
                                    {application_master,start_it_old,4}]}}}}}

どうしたの?どうすれば修正できますか?

私がeshellで作る場合:

test_app:start(normal, []).

すべての作品より。

ありがとうございました。

4

1 に答える 1

3

これは、[適切な] .beam をロードしていないことが原因であると思われます。すべてのモジュールが同じディレクトリにあることを確認するか、次のように-paキーを使用してみてくださいerl(1)

$ erl -pa ../ebin
1> application:start(test).
...
于 2011-02-18T17:32:35.327 に答える