opendaylight各模块编译
1、说明
按照《基于OpenDaylight的二次开发一步一个脚印(一)GIT源代码》说明,我们可以将controller、openflowjava、openflowplugin三个项目的代码clone到本地。然而clone出来的本地分支是远程master分支的代码,而我们一般使用远程stable分支,因为这个分支相对比较稳定,方便我们学习。我们在hydrogen版本基础上进行二次开发,因此我们最终需要hydrogen版本的stable分支代码。这里用openflowjava项目来说明获取hydrogen版本stable分支代码方法。
2、获取stable分支代码
Git branch –a 命令查看所有分支(本地+远程),打*说明的本地分支的当前分支。如下图所示
git branch 命令查看本地的分支,只有一个master
为了获得stable分支 我们需要将hydrogen的stable分支checkou到本地,并将其命名为myhydrogen
git checkout -b myhydrogen remotes/origin/stable/hydrogen
这时候再用git branch看本地分支就多了一个myhydrogen分支,并且同时切换到了该分支(当然也可以随时切换到master分支:git checkout master)
这时候代码就是hydrogen版本的stable分支了
3、编译代码
按照上述说明获得controller、openflowjava、openflowplugin三个项目的hydrogen版本的stable分支代码后就可以进行编译。
上述三个项目的依赖关系如下:
- openflowjava依赖controller;
- openflowplugin依赖openflowjava和controller
因此编译顺序如下:
- 编译controller
- 编译openflowjava
- 编译openflowplugin
最后在openflowplugin的distribution下面就生成了带OF1.3的版本。例如:D:\openflowplugin\distribution\base\target\distributions-openflowplugin-base-0.0.2-1-SNAPSHOT-osgipackage\opendaylight,就是源代码编译出来的版本。值得注意的是controller下的distribution下的版本是不带openflowplugin和openflowjava的。