我是 Erlang 世界的新手,目前不知道如何启动我的虚拟 erlang 应用程序。可能,我只是遗漏了一些东西......所以,我用 rebar 创建了一个应用程序(rebar create-app appid=dummys)。
目前我有
- rebar.config
- src/dummys.app.src
- src/dummys_app.erl
- src/dummys_sup.erl
我发现为了在开发过程中运行应用程序,最好创建一个额外的启动方法,该方法应该调用 application:start(module)。
我在启动方法中添加了一些基本的日志记录..
start() ->
error_logger:info_msg("Starting app(dev)..~n"),
application:start(dummys_app).
start(_StartType, _StartArgs) ->
error_logger:info_msg("Starting app..~n"),
dummys_sup:start_link().
如果我尝试
erl -noshell -pa ebin -s application start dummys
erl -noshell -pa ebin -s application start dummys_app
没有输出..
如果我尝试
erl -noshell -pa ebin -s dummys start
erl 因错误而崩溃..
如果我尝试
erl -noshell -pa ebin -s dummys_app start
它只输出“ Starting app(dev).. ”,仅此而已。但我也希望看到“正在启动应用程序.. ”
我错过了什么或做错了什么?
==============
还有一个问题:如何正确地将新模块添加到我的虚拟应用程序中?例如,我有一个名为“*dummys_cool*”的附加模块,它有一个“ start ”方法。如何告诉我的应用程序运行“dummys_cool#start”方法?
谢谢!