最近因为工作需要开始研究opendaylight,首先需要的是编译项目。

因为项目代码都是在git.opendaylight.org上的,所以需要先安装git工具。

另因为opendaylight项目都是用pom.xml组织的,所以需要安装maven(版本最好在3.0以上),java(1.7.0_45以上)。

这里是关于openflowjava的编译,windows或者linux环境都可以。

openflowjava项目比较小,相对更加容易编译成功。

1. 下载odl-parent

odl-parent是所有opendaylight项目的父项目,编译openflowjava时可以不用下载odl-parent,但是openflowplugin和controller等,必须有odl-parent存在。

在opendaylight目录下(openflowjava同级),使用git下载odl-parent

git clone https://git.opendaylight.org/gerrit/p/odlparent.git

下载完成后,复制odlparent根目录下的settings.xml文件到C:\Users\Administrator\.m2(linux下是/home/user/.m2)目录下。

若是使用的自定义maven仓库,那么修改maven\bin目录下的m2.conf文件,修改

set maven.home default C:\Users\Administrator\.m2为

set maven.home default E:\workspace\MavenWorkspace

并复制settings.xml到E:\workspace\MavenWorkspace下即可。

2. 下载openflowjava

使用git下载,

git clone https://git.opendaylight.org/gerrit/p/openflowjava.git

下载完成后,进入目录并切换项目版本到release/helium-sr3,

git checkout release/helium-sr3

这里sr3或者sr2版本都能编译通过,master版本不稳定,所以一般不编译默认的master版本。

编译项目

mvn clean install

这里一次通过。

有时可能会因为网络原因下载jar包失败,导致项目编译失败,重新编译即可,或者等些时间网络好些的时候重新编译,或者直接从网上下载jar包放到maven仓库对应目录下。

在windows下可能会因为目录太长导致mvn clean时删除项目下maven生成的target文件夹失败,导致编译失败,使用360卫士等,强制删除对应的文件夹,再重新编译即可。

OpenDaylight之openflowjava的编译的更多相关文章

  1. Ubuntu系统下OpenDaylight源码编译安装

    操作系统:Linux x64 / Ubuntu 14.04 研究领域:软件定义网络SDN (Software-defined Networking) 开发组件:OpenDaylight 声明:转载请注 ...

  2. 基于OpenDaylight和Mininet的试验床平台搭建

    ##########################################平台架构######################################### 一.虚拟机安装和镜像加载 ...

  3. OpenDayLight——HelloWorld

    OpenDayLight——HelloWorld 既然学习OpenDayLight编程这个鬼,就得像学语言一样来一个HelloWorld来试试水,经过几天的折腾,总算成功输出HelloWorld了,这 ...

  4. Docker容器打包成镜像 - OpenDaylight官方 SDN Hub Tutorial VM 的docker镜像

    由于工作需要,在看OpenDaylight (一个SDN的开源控制器) 官方Tutorial有一个比较基础且介绍比较详细的文档(http://sdnhub.org/tutorials/opendayl ...

  5. OpenDaylight开发hello-world项目之功能实现

    OpenDaylight开发hello-world项目之开发环境搭建 OpenDaylight开发hello-world项目之开发工具安装 OpenDaylight开发hello-world项目之代码 ...

  6. OpenDaylight开发hello-world项目之代码框架搭建

    OpenDaylight开发hello-world项目之开发环境搭建 OpenDaylight开发hello-world项目之开发工具安装 OpenDaylight开发hello-world项目之代码 ...

  7. 在OpenDaylight controller上开发App

    安装环境:Ubuntu18.04 一.安装依赖 1. 安装JDK: sudo apt update sudo apt install openjdk-8-jdk-headless 选择默认的 JDK: ...

  8. TODO:macOS编译PHP7.1

    TODO:macOS编译PHP7.1 本文主要介绍在macOS上编译PHP7.1,有兴趣的朋友可以去尝试一下. 1.下载PHP7.1源码,建议到PHP官网下载纯净到源码包php-7.1.0.tar.g ...

  9. Centos6.5下编译安装mysql 5.6

    一:卸载旧版本 使用下面的命令检查是否安装有MySQL Server rpm -qa | grep mysql 有的话通过下面的命令来卸载掉 rpm -e mysql //普通删除模式 rpm -e ...

随机推荐

  1. tachyon 编译

    最新版 tachyon0.5.0 的 binary 包默认使用JDK1.6 和 hadoop 1.0.4 自己的环境是1.7 和 2.2.0,所以重新编译 1.下载源码 https://github. ...

  2. 3.2html学习笔记之图片

    <img src="" width="50%" alt="加载时候或无法显示时候显示的文字" height="让浏览器预先给 ...

  3. JS后退, JS返回上一页, JS返回下一页

    Javascript 返回上一页: 1. history.go(-1), 返回两个页面: history.go(-2); 2. history.back(). 3. window.history.fo ...

  4. bing 输入法,切换简体、繁体快捷键与myeclipse 格式化代码冲突。。

    bing 输入法,切换简体.繁体快捷键与myeclipse 格式化代码冲突...蛋碎 myeclipse 代码格式化快捷键是:ctrl+shift+F,bing输入法简体.繁体切换也是,于是蛋疼的事情 ...

  5. iOS 关于流媒体 的初级认识与使用

    1.流媒体指在Internet/Intranet中使用流式传输技术的连续时基媒体,如:音频.视频或多媒体文件.流式媒体在播放前并不下载整个文件,只将开始部分内容存入内存,流式媒体的数据流随时传送随时播 ...

  6. Unity3D 4.61 实现淡入淡出的场景过渡方法。

    还在学习过程中,如果有大大看到请指点. orz原来官方就有了更好的处理方法的教程,具体查看下面视屏. [Unity官方实例教程 秘密行动] Unity官方教程<秘密行动>(五) 屏幕渐变效 ...

  7. [Windows] 解决kmplayer播放rmvb文件音视不同步

    1. 到該帖子 http://www.kmplayer.com/forums/showthread.php?t=8755 下載附件中的4個檔案放到KMP 根 目錄下(此文件已在附件中上传) 2.於KM ...

  8. 重构3-Pull Up Method(方法上移)

    上移方法(Pull Up Method)重构是将方法向继承链上层迁移的过程.用于一个方法被多个实现者使用时 public abstract class Vehicle { // other metho ...

  9. Ngnix 安装、信号量、虚拟主机配置

    ngnix的安装很简单 1.先从ngnix官网下载ngnix压缩包 wget http://nginx.org/download/nginx-1.6.2.tar.gz 2.解压并进入其目录 tar - ...

  10. 转:微信Android客户端架构演进之路

    转自: http://www.infoq.com/cn/articles/wechat-android-app-architecture 微信Android客户端架构演进之路 作者 赵原 发布于 20 ...