从 opendaylight-startup-archetype 构建的 OpenDaylight Oxygen Deploy 应用程序

OpenDaylight Oxygen Deploy app built from opendaylight-startup-archetype

OpenDaylight 氧气
Maven 3.3.9
Ubuntu16.04
卡拉夫 4

~/.m2/settings.xml - cp -n ~/.m2/settings.xml{,.orig} ; wget -q -O - https://raw.githubusercontent.com/opendaylight/odlparent/master/settings.xml > ~/.m2/settings.xml

用于创建框架的进程

mvn archetype:generate -DgroupId=org.opendaylight.controller -DartifactId=testing -Dcopyright="None" -DclassPrefix="${artifactId.substring(0,1).toUpperCase()}${artifactId.substring(1)}" -DarchetypeGroupId=org.opendaylight.archetypes -DarchetypeArtifactId=opendaylight-startup-archetype -DarchetypeVersion=1.1.0-SNAPSHOT -DinteractiveMode=false

mvn clean install -Dcheckstyle.skip

我正在尝试构建示例应用程序并将其部署在单独的 ODL (karaf 4) 实例上。我无法在任何地方找到有效的答案。

我试过将 PROJECT/karaf/target/assembly/system/org/opendaylight/controller 的内容复制到另一个 ODL 实例上的等效文件夹。然后使用 feature:add-repo 添加功能。它能够检测到插件,但是 feature:install odl-testing 安装失败。

如有任何帮助,我们将不胜感激。

当你说 "feature:install odl-testing failed to install" 时,你并没有显示你遇到的确切失败,但仅供参考,大多数人实际上并没有使用你试图开始工作的过程。从技术上讲,构建你的新包是可能的和 Karaf 功能分开,然后手动添加它以部署在单独的 ODL 实例上......但我知道的每个项目都发现让构建生成一个现成的 Karaf 发行版更容易。

您可能已经在 karaf/target/assembly 中看到了 ODL 原型(documented here BTW;请注意,在刚刚发布的最新 Fluorine 版本中,archetypeGroupId 的使用更改为 org.opendaylight.archetypes)生成的发行版?

因此,您可以做的只是添加您的 "base" 功能,您可能希望将您的功能作为自定义功能的依赖项添加到其中。有了这个,您就可以获得准备就绪的 运行 自定义分发,包括您的新代码和您想要包含的任何其他 ODL 功能。