写在前面
- 这是我去年记录的笔记了,只是现在才公开出来,希望能对一些人有用吧
BUCK添加maven支持
- 安装maven,方法与以前一样,已经写再脚本中
- 将artificates publish到~/.m2文件夹中,方法如下:
source source_onos.sh(添加onos环境变量支持)
cd onos
onos-buck-publish-local
- 请注意,在这个使用中,不能使用onos1.7或者onos1.8,否则会报sed no suchfile的错误。
- 这个我估计是因为版本更迭代码不完善导致的
- buck使用需要先用maven编译,命令如下:
cd $ONOS_ROOT/tools/package/archetypes
mvn clean install
- 接下来就可以像正常的使用onos脚本那样创建新的文件夹了(要在onos文件夹之外创建,使用BUCK后这个我也很困惑,否则会报一丢丢错误)
- 创建文件夹命令:
onos-create-app
- 生成文件夹的命名方式如下图中所示:
image
其中:
- groupId:指定的类似于org.onosproject的东西
- artifactId:文件夹名字
- version:版本号
- package:包的名字(java里面很常用)
- 切换到app目录下,编辑pom.xml文件,如下图中所示:
image
- 红色箭头是表为要取消的地方,生成的文件中应该有<comment.........这种文字,取消注释就可以了。
- 同时注意图中的onos-app-name一定要命名好,在后面激活app时用的就是该名字!
- 编译生成oar文件
mvn clean install
- 将生成的app载入到onos中,命令如下:
onos-app localhost install/reinstall/uninstall target/***.oar
- 在onos中的命令如下:
- 查看app的命令-a是激活的,-s是指short
apps -a -s
- 查找安装的app:
feature:list | grep ****(你的id名)
- 激活或者接触激活
app activate/deactivate onos-app-name(具体内容)
- onos添加cli命令的方法
- 在一开始使用onos-create-app生成对应的文件:
比如设置groupId为org.foo
设置artificates为foo-app
version采用默认的1.0-SNAPSHOT的话
设置package为org.foo.app
- 那么采用cli命令的脚本如下(必须先用onos-create-app生成,没有foo-app文件夹直接执行下列命令会导致不生成oar文件):
onos-create-app cli org.foo.app foo-app 1.0.0
mvn clean install
onos-app localhost target/foo-app-1.0.0.oar
在客户端进行激活处理:
app activate org.foo.app
执行命令:sample就可以看到输出hello word
- onos添加web ui的方法(原始方法同上):
onos-create-app ui org.foo.app foo-app 1.0.0
创建tablular View:onos-create-app uitab org.foo.app foo-app 1.0.0
创建一个REST interface for my application:
onos-create-app rest org.foo.app foo-app 1.0.0
然后编译安装执行:
mvn clean install
onos-app localhost reinstall org.foo.app target/foo-app-1.0-SNAPSHOT.oar
app activate org.foo.app
- onos的RESTAPI网址:
http://localhost:8181/onos/v1/docs
- onos流表结构网址:
- onos的API开发网址:
- 编译代码:
mvn clean install -DskipTests //可以跳过test检测
网友评论