如何在ODL开发的应用程序中添加内置功能?

时间:2018-01-31 04:37:42

标签: maven sdn opendaylight

为了创建ODL应用程序,我已经使用maven构建了应用程序框架,如下所示:

mvn archetype:generate -DarchetypeGroupId= org.opendaylight.controller -DarchetypeArtifactId=opendaylight-startup-archetype -DarchetypeRepository=http://nexus.opendaylight.org/content/repositories/opendaylight.release/ -DarchetypeCatalog=remote -DarchetypeVersion=1.3.0-Carbon

我很困惑我应该在 “DarchetypeVersion = 1.3.0-Carbon” 中使用哪个版本?我在哪里可以找到所有可用的版本?

我打算使用一些默认情况下不存在的功能,我了解通过编辑 feature.xml pom来添加任何其他功能,如l2switching或openflowplugin .xml 文件。我仍然对使用不同版本感到困惑。如何在我的pox.xml文件中指定版本?

我正在通过添加更多存储库行来编辑feature.xml文件,如下所示:

< repository > mvn:org.opendaylight.yangtools/features-yangtools/{{VERSION}}/xml/features < /repository >
< repository > mvn:org.opendaylight.controller/features-mdsal/{{VERSION}}/xml/features < /repository>
< repository > mvn:org.opendaylight.mdsal.model/features-mdsal-model/{{VERSION}}/xml/features < /repository >
< repository > mvn:org.opendaylight.netconf/features-restconf/{{VERSION}}/xml/features < /repository >
< repository > mvn:org.opendaylight.dluxapps/features-dluxapps/{{VERSION}}/xml/features < /repository >
< repository > mvn:org.opendaylight.openflowplugin/features-openflowplugin/{{VERSION}}/xml/features < /repository >
< repository > mvn:org.opendaylight.l2switch/features-l2switch/{{VERSION}}/xml/features < /repository >

在pom.xml文件中,看起来我需要添加一些依赖标记,但我仍然对使用的版本感到困惑:

<dependency >
    < groupId > org.opendaylight.l2switch < /groupId >
    < artifactId > features-l2switch< /artifactId >
    < classifier >features < /classifier >
    < type > xml < /type >
    < version > ${l2switch.version} < /version >
    < scope > runtime < /scope >
< /dependency >

1 个答案:

答案 0 :(得分:0)

E.g。 https://stackoverflow.com/a/47069510/421602列出了可用于opendaylight-startup-archetype的版本号。您确实也可以只检查存储库,但是查看该原型的所有版本的正确链接将是https://nexus.opendaylight.org/#nexus-search;quick~opendaylight-startup-archetype(不是yangtools-artifacts)。

至于混乱。在feature.xml和pom.xml文件中,最好的方法是查看原型示例项目,或者通过查看OpenDaylight源代码中的相应分支来查找正确的版本。例如,如果您想知道对于ODL的碳释放而言l2switch的更正版本是什么,您可以查看例如https://github.com/opendaylight/l2switch/blob/stable/carbon/artifacts/pom.xml找到0.5.3-SNAPSHOT(或使用0.5.2)。

仅供参考:据我所知,在撰写本文时,氮气释放的原型已被打破;所以我会使用最新的Oxygen,以及像l2switch这样的原型和你感兴趣的项目。