Erlang应用程序问题

时间:2011-02-18 13:45:21

标签: erlang otp

我尝试将应用程序写入我的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, []).

比所有作品都要好。

谢谢。

1 个答案:

答案 0 :(得分:3)

我想这可能是因为没有加载[正确] .beam。确保所有模块都在同一目录中,或尝试使用-pa密钥到erl(1),e。 G:

$ erl -pa ../ebin
1> application:start(test).
...