有很多的实现方式,这里只阐述我所使用的方法
软件安装以及环境配置,在这里就不做赘述,网上有很多的相关教程
odlparent https://github.com/opendaylight/odlparent/tree/release/lithium
yangtools https://github.com/opendaylight/yangtools/tree/release/lithium
openflowjava https://github.com/opendaylight/openflowjava/tree/release/lithium
openflowplugin https://github.com/opendaylight/openflowplugin/tree/release/lithium
controller https://github.com/opendaylight/controller/tree/release/lithium
-下载完成之后就可以开始编译了,在需要编译的项目目录下执行 mvn clean install
- 在使用maven编译的时候要注意编译的顺序,按照以上下载的顺序进行编译,顺序不一致的话,可能会导致maven找不到依赖的.jar,而导致编译失败
- 在编译yangtools时,会出现错误。是xxx\yangtools-release-lithium\common\checkstyle-logging这个工程编译失败,可以先跳过单元测试进行规避,命令行“maven clean install -Dmaven.test.skip=true”。
在想要导入eclipse中的项目目录下执行 mvn eclipse:eclipse,将项目转成eclipse可以识别的项目
转换成功后,就可以在eclipse里面 import 项目了
由于我在编译源码的时候没有问题,并且在编译完成之后直接对controller执行的 mvn eclispe:eclipse 也能转换成功,所以我想只要是项目源码能编译成功的,转换成 eclipse 项目也是没有问题的。
还有一种方法是在eclipse安装m2e插件,但是我没有成功,安装这个插件的话就不需要将maven项目转成eclipse项目,也可以直接导入ecllipse中
新建一个文件名为clone.cmd
@echo off
for /f %%i in (projects.txt) do (
if not exist %%i git clone https://github.com/opendaylight/%%i.git %%i
)新建一个文件名为projects.txt
aaa
alto
archived-affinity
archived-defense4all
archived-net-virt-platform
archived-opendove
armoury
atrium
bgpcep
bier
capwap
cardinal
centinel
coe
controller
coretutorials
daexim
didm
discovery
dlux
dluxapps
docs
eman
faas
federation
fpc
genius
groupbasedpolicy
honeycomb-vbd
infrautils
integration
integration-distribution
integration-packaging
integration-packaging-ansible-opendaylight
integration-packaging-puppet-opendaylight
integration-test
iotdm
jsonrpc
l2switch
lacp
lispflowmapping
mdsal
messaging4transport
natapp
nemo
netconf
netide
netvirt
neutron
next
nic
ocpplugin
odlparent
of-config
ofextensions-circuitsw
openflowjava
openflowplugin
opflex
ovsdb
p4plugin
packetcable
persistence
plugin2oc
releng-autorelease
releng-builder
reservation
sdninterfaceapp
sfc
snbi
snmp
snmp4sdn
spectrometer
sxp
systemmetrics
tcpmd5
toolkit
topoprocessing
transportpce
tsdr
ttp
unimgr
usc
usecplugin
vpnservice
vtn
yangide
yang-push
yangtools