ONOS是一款功能非常强大的SDN控制器,根据官方wiki的建议,若要在ONOS上开发自己的app,可以先从ONOS官方提供的sample-apps入手。本文对于在根据wiki上拉取sample-apps的时候遇到的坑作了一些总结,希望能够帮到遇到相同问题的小伙伴。
1.指定ONOS-API版本
根据官方wiki上的操作,首先要指明ONOS-API的版本。在电脑的终端下输入如下命令:
$ export ONOS_POM_VERSION=2.0.0
2.foo-app项目拉取(Maven)
在电脑终端输入命令
$ onos-create-app app org.foo foo-app 1.0-SNAPSHOT org.foo.app
但是在执行该命令的时候,终端提示找不到onos-create-app命令。这时,再次阅读官方的wiki,上面提到,可以使用maven工具拉取,并且详细的三维参数也给出了,使用maven对应的命令,拉取项目。
mvn archetype:generate
由于Maven会自动从远程仓库拉取catalog,因此会出现卡顿。
可以在之前命令的基础上加入参数,让maven在拉取项目的时候,跳过从仓库拉取catalog这一步骤。
mvn archetype:generate -DarchetypeCatalog=internal
然后,根据官方wiki上的信息,输入该项目的三维参数,就能运行。
3.sample-apps项目拉取及其编译
上述操作是拉取foo-app项目,下面根据wiki的另一个指导拉取sample-apps项目
在终端执行命令git clone https://gerrit.onosproject.org/onos-app-samples
下载好源码后,在终端用命令mvn compile
进行编译 在执行到一半的时候,会由于pom文件的依赖问题而出现错误。
查阅报错信息,查询资料可以发现,该问题是由于java版本的问题而造成,通过参考资料的方法,修改Pom文件的依赖,顺利解决问题
重新执行命令,在拉取的时候又出现了图示错误
通过查询报错信息,查找参考资料,根据资料的参考方法成功的解决问题。分析得知,出现这种情况也是因为pom文件依赖出错造成。
在解决好Pom文件的依赖问题之后,成功将sample-apps项目拉取下来。
4.生成oar文件
在进行mvn install
的时候,一定要注意好java的版本问题,否则会出现很多错误。
在终端执行命令mvn install
生成oar文件
然后打开ONOS-WEB-GUI界面,上传对应的oar文件,启动。
至此,sample项目拉取成功,但是尽管如此,oar文件上传进入ONOS系统后,是不能够运行的具体的解决方法以及apps的源码解读将在后面跟大家分享。
来源:CSDN
作者:馮小賢
链接:https://blog.csdn.net/weixin_42229572/article/details/104426244