最近因为工作需要开始研究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卫士等,强制删除对应的文件夹,再重新编译即可。