概述

类似Java中的Maven,Gradle,在Erlang中同样也有包管理的工具,Rebar提供Erlang依赖(包)管理机制,开发人员可以重复使用已有的模块,通过rebar引入自己的项目直接使用,通过GIT获取托管在github或码云上的项目。

使用依赖

1.找到github或码云上将要用到的项目GIT地址,为演示使用自己的项目,git地址为:
https://git.oschina.net/woniu201/erlanglib.git 

2.修改rebar.config配置文件
   继续使用笔记二中的mqtt项目,在rebar.config中添加如下:

{sub_dirs, ["rel"]}.
{deps,[
    {erlanglib, ".*", {git,
"https://git.oschina.net/woniu201/erlanglib.git",{branch,
"master"}}}   
]}.
3.修改rel目录下retool.config配置文件
    修改第四行,改后为:

{lib_dirs, ["../deps"]},

4.修改源码文件进行测试
    修改src目录下mqtt_app.erl文件中start/2函数,修改内容如下:

start(_StartType,_StartArgs) ->
% 测试调用deps下的erlanglib
,),
io:format("调用erlang:add(1,2)= ~p ~n", [X]),
io:format("调用erlang:main(),输出结果如下: ~n"),
erlanglib:main(),
mqtt_sup:start_link().

5.编译,发布,测试
        a.进入根目录 编译:rebar compile
        b.发布:rebar generate
        c.测试:cd rel/mqtt  && ./bin/mqtt  console  执行结果如下:


Erlang:[笔记三,构建工具rebar之使用依赖]的更多相关文章

  1. Erlang:[笔记一,构建工具rebar之编译]

    Rebar概述 Rebar是一款Erlang构建工具,使用它可以方便的编译,测试erlang程序和打包erlang发行版本.Rebar其实是一个独立的erlang脚本,默认情况下,Rebar会按照Er ...

  2. Erlang:[笔记二,构建工具rebar之发布应用]

    概述 通过rebar可以发布rebar构建的erlang项目,生成可执行的二进制脚本文件,大大降低了执行应用的复杂度.该笔记Erlang环境为Erlang/OTP 19 ,以下适用于Eralng/OT ...

  3. Rebar:Erlang构建工具

    Rebar是一款Erlang的构建工具,使用它可以方便的编译.测试erlang程序.内联驱动和打包Erlang发行版本. Rebar是一个独立的erlang脚本,所以使用Rebar发布程序非常简单,甚 ...

  4. 构建高性能WEB站点笔记三

    构建高性能WEB站点笔记三 第10章 分布式缓存 10.1数据库的前端缓存区 文件系统内核缓冲区,位于物理内存的内核地址空间,除了使用O_DIRECT标记打开的文件以外,所有对磁盘文件的读写操作都要经 ...

  5. 《CMake实践》笔记三:构建静态库(.a) 与 动态库(.so) 及 如何使用外部共享库和头文件

    <CMake实践>笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE <CMake实践>笔记二:INSTALL/CMAKE_INSTALL_PREFIX &l ...

  6. 前端自动化构建工具 gulp 学习笔记 一、

    一.我对gulp的初期理解 是一种前端辅助开发工具 可以帮你把js,css,img等文件 合并.压缩,图片好像是合并为精灵图,合并为精灵图之后,还会生成一个css样式表. 官方解说是:基于流的自动化构 ...

  7. 【构建工具】《Maven实战》读书笔记

    Maven是我们在做Java开发过程中用经常用到的一个辅助工具.本篇博客是我学习Maven的一个记录博客,学习过程主要参考<Maven实战>这本书.同时也参考了Maven的官方文档. 1. ...

  8. 【项目构建工具】 Gradle笔记1

    一.Gradle简介 Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具.它使用一种基于Groovy的特定领域语言(DSL)来声明项目设置,抛弃了基于XM ...

  9. 学习笔记——Maven实战(六)Gradle,构建工具的未来?

    Maven面临的挑战 软件行业新旧交替的速度之快往往令人咂舌,不用多少时间,你就会发现曾经大红大紫的技术已经成为了昨日黄花,当然,Maven也不会例外.虽然目前它基本上是Java构建的事实标准,但我们 ...

随机推荐

  1. Hive SQL NVL 相关函数

    1.NVL函数 NVL函数的格式如下:NVL(expr1,expr2)含义是:如果oracle第一个参数为空那么显示第二个参数的值,如果第一个参数的值不为空,则显示第一个参数本来的值. NVL(exp ...

  2. 【Python】Python format 格式化函数(转帖)

    https://www.runoob.com/python/att-string-format.html Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符 ...

  3. Matlab基础:关于图像的基本操作

    -- %% 学习目标:学习关于图像的基本操作 %% 通过抖动来增强图像的的色彩对比度 clear all; close all; I = imread('cameraman.tif');%读取灰度图像 ...

  4. OpenJudge计算概论-奥运奖牌计数

    /*===================================================================== 奥运奖牌计数 总时间限制: 1000ms 内存限制: 6 ...

  5. $createElement实现自定义弹窗

    <el-button type="text" @click="open4">点击打开 Message Box</el-button> m ...

  6. 使用ConstraintLayout(约束布局)构建响应式UI

    使用ConstraintLayout(约束布局)构建响应式UI 转 https://www.300168.com/yidong/show-2740.html     核心提示:ConstraintLa ...

  7. 001-poi-excel-基础、单元格使用操作

    一.概述 Apache POI是Apache软件基金会的开源项目,POI提供API给Java程序对Microsoft Office格式档案读和写的功能. .NET的开发人员则可以利用NPOI (POI ...

  8. IfcAxis2Placement3D IFC构件的位置和方向

    IfcAxis2Placement3D定义了三维空间中物体的位置和方向,由三部分组成: The attribute Axis defines the Z direction, RefDirection ...

  9. labelimg data

    <annotation> <folder>img_data_box_1500</folder> <filename>798.jpg</filena ...

  10. mouse without borders无界鼠标使用教程

    mouse without borders无界鼠标使用教程 摘自https://www.jianshu.com/p/6a0209ad03f8   老黑随笔 关注  0.4 2018.05.18 11: ...