OpenDayLight开发环境搭建

OpenDayLight开发环境搭建

  本文主要是介绍如何搭建一个eclipse下的OpenDayLight开发环境,eclipse的插件基本配置内容在OpenDayLight的官网上能找到(https://wiki.opendaylight.org/view/GettingStarted:_Eclipse)建议使用java1.7.55maven选择最新版本。Javamaven安装不再赘述。

  下载OpenDayLight源码(https://github.com/opendaylight/controller)。对eclipse再进行一些配置:

      1.自己创建一个自己的代码风格,其中选择只是用空格不使用tap;

      2.打开空格等字符的显示,便于编码排错。

  解压源码,找到这个路径下\opendaylight\distribution\opendaylight命令行中使用mvn clean install构建项目,时间可能有点长。看到build success的时候就打开eclipse将对应项目导入。这些在油管上有一个视屏,一个前辈把视频传到了搜狐上连接如下http://my.tv.sohu.com/us/63305745/62808568.shtml,有条件的可以翻出去看原版。

  构建成功之后在以上路径下就会有\opendaylight\distribution\opendaylight\target\distribution.opendaylight-osgipackage\opendaylight这样的路径下就有了run.bat文件,创建个快捷方式,使用命令行执行,然后访问http://127.0.0.1;8080就可以看到odl的界面了。

  接下来就按照ping的模型实现odl给我们的范例https://wiki.opendaylight.org/view/Ping,第一步写yang的数据结构,通过工具生成对应的读取数据结构中方法的jar包(model-ping);第二步,创建plugin实现对相应数据的实际操作方法,这个插件做好后就可以通过接口对ping的方法进行访问了(ping.plugin);文中的第三步是写一个用于北向接口调用的服务用于封装第二步创建好的plugin(ping.service);第四步,就是实现真正的rest接口,使用的是javax.ws提供的服务接口(ping.northbound)。

  这时候正常情况就可以完成一个小案例的制作了,但是这个只是在全命令行的状态下创建的,并未使用eclipse。通过导入maven项目把四个项目导入进去eclipse。分别是:model-ping,ping.plugin,ping.northbound,ping.service。在ping的范例测试成功的前提下,以debug的方式运行run.bat文件启动odl,在eclipse中启动远程调试8000端口,就可以连上断点调试了。

   关于出现的一些错误,一般开发的时候都会照猫画虎,将ping的插件改写为自己的插件,需要注意,当使用ping的插件提供北向接口northbound的时候如果这是ping模块也存在会报错“/controller/nb/v2/”路径被使用,最快解决方案把ping模块直接干掉,重启odl就可以调试自己的模块了。关于mave的问题,有时候要引用本地jar,需要将jar包添加到本地库中参见http://www.20365.cn/article/44,我是用第一种方法然后就可以把包依赖管理好。在主项目就是distribution.opendaylight项目中和具体使用到的项目中都要添加依赖不然远程调试会报找不到对应类的问题。

  不足之处,没有通过项目自带的osgi的target文件实现本地调试。新手技术水平不够,还在探索中。因为是远程调试,需要将生成的jar包拷到distribution.opendaylight的plugin目录下,还要修改文件名,建议写个python脚本,每次编译之后把jar拷过去,等一下osgi的平台会自动加载更新jar包,调试还是挺方便的(没办法本地调试的最后选择)。在复制jar包的过程中会有依赖关系,有时会发生某些类被锁死的情况,重启odl就可以解决;同样在调试ping.plugin模块时会有比较长时间的延迟,建议如果是使用远程调试的话代码质量高一点,减少调试次数。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值