一、手动拷贝方式
1. 将Hello项目生成的发布包拷贝至ODL发布版本的
Hello项目(mvn clean install)后,Hello的feature存在于karaf/target/assembly/system目录下,更进一步karaf argetassemblysystemorgopendaylight
其中,orgopendaylight为输入的groupId的值
2. 安装Hello组件:
(1) 启动OpenDayLight:
D:CODEdistribution-karaf-0.6.0-Carbonin>karaf Apache Karaf starting up. Press Enter to open the shell now... 100% [========================================================================] Karaf started in 26s. Bundle stats: 296 active, 296 total ________ ________ .__ .__ .__ __ \_____ ______ ____ ____ \______ _____ ___.__.| | |__| ____ | |___/ |_ / | \____ \_/ __ / | | \__ < | || | | |/ ___| | __ / | |_> > ___/| | | ` / __ \___ || |_| / /_/ > Y | \_______ / __/ \___ >___| /_______ (____ / ____||____/__\___ /|___| /__| /|__| / / / // /_____/ / Hit '<tab>' for a list of available commands and '[cmd] --help' for help on a specific command. Hit '<ctrl-d>' or type 'system:shutdown' or 'logout' to shutdown OpenDaylight.
(2). 将Hello 仓库添加到featue list中:
opendaylight-user@root>feature:repo-add mvn:org.opendaylight.hello/hello-features/0.1.0-SNAPSHOT/xml/features Adding feature url mvn:org.opendaylight.hello/hello-features/0.1.0-SNAPSHOT/xml/features
其中斜体部分的值在:D:CODEodlexamplehellohellokaraf argetassemblyetcorg.apache.karaf.features.cfg 文件的最后部分:
featuresRepositories = mvn:org.apache.karaf.features/standard/3.0.8/xml/features,mvn:org.apache.karaf.features/enterprise/3.0.8/xml/features,mvn:org.ops4j.pax.web/pax-web-features/3.2.9/xml/features,mvn:org.apache.karaf.features/spring/3.0.8/xml/features,mvn:org.opendaylight.hello/hello-features/0.1.0-SNAPSHOT/xml/features
(3). 查看hello是否已安装:
opendaylight-user@root>feature:list|grep hello odl-hello-api | 0.1.0-SNAPSHOT | | odl-hello-0.1.0-SNAPSHOT | OpenDaylight :: hello :: api odl-hello | 0.1.0-SNAPSHOT | | odl-hello-0.1.0-SNAPSHOT | OpenDaylight :: hello odl-hello-rest | 0.1.0-SNAPSHOT | | odl-hello-0.1.0-SNAPSHOT | OpenDaylight :: hello :: REST odl-hello-ui | 0.1.0-SNAPSHOT | | odl-hello-0.1.0-SNAPSHOT | OpenDaylight :: hello :: UI odl-hello-cli | 0.1.0-SNAPSHOT | | odl-hello-0.1.0-SNAPSHOT | OpenDaylight :: hello :: CLI opendaylight-user@root>feature:list -i | grep hello
(4). 安装Hello:
opendaylight-user@root>feature:install odl-hello-ui opendaylight-user@root>feature:list -i | grep hello odl-hello-api | 0.1.0-SNAPSHOT | x | odl-hello-0.1.0-SNAPSHOT | OpenDaylight :: hello :: api odl-hello | 0.1.0-SNAPSHOT | x | odl-hello-0.1.0-SNAPSHOT | OpenDaylight :: hello odl-hello-rest | 0.1.0-SNAPSHOT | x | odl-hello-0.1.0-SNAPSHOT | OpenDaylight :: hello :: REST odl-hello-ui | 0.1.0-SNAPSHOT | x | odl-hello-0.1.0-SNAPSHOT | OpenDaylight :: hello :: UI
如果要将hello移除feature list,使用 feature:repo-remove mvn:org.opendaylight.hello/hello-features/0.1.0-SNAPSHOT/xml/features
移除后,查不到,装不上
opendaylight-user@root> feature:repo-remove mvn:org.opendaylight.hello/hello-features/0.1.0-SNAPSHOT/xml/features
opendaylight-user@root>feature:list -i | grep hello
opendaylight-user@root>feature:list|grep hello
opendaylight-user@root>feature:install odl-hello-ui
Error executing command: Can't install feature odl-hello-ui/0.0.0:
null
二、 编译方式:
参考链接:http://www.sdnlab.com/17863.html