当前位置: 首页 > 知识库问答 >
问题:

如何为OpenDayLight Karaf添加新功能?

宇文飞羽
2023-03-14

例如,我从官方页面下载了预构建的ODL。然后我想把烤面包机样本作为一个新的氧气模块,它是用命令创建的:

wget -q -O - https://raw.githubusercontent.com/opendaylight/odlparent/master/settings.xml > ~/.m2/settings.xml
mvn archetype:generate -DarchetypeGroupId=org.opendaylight.archetypes -DarchetypeArtifactId=opendaylight-startup-archetype -DarchetypeCatalog=remote -DarchetypeVersion=1.1.0-SNAPSHOT

编译之后,它将生成构建文件到本地maven存储库(~/.m2/repository/com/example/toaster)。我将com/example/toaster复制到Karaf默认存储库文件夹./karaf-0.8.3/system。然后我想让它在feature:list中可用,这样我就可以用feature:install toaster进行安装。首先我需要将其添加到回购列表中:

./karaf-0.8.3/bin/karaf
feature:repo-add mvn:com.example.toaster/features-toaster

不幸的是,它显示了一个错误:

执行命令时出错:错误解析工件com.example.toaster:features-toaster:jar:0.1.0-snapshot:

[在OpenDayLight中找不到工件com.example.toaster:features-toaster:jar:0.1.0-snapshot-snapshot(https://nexus.opendaylight.org/content/repositories/OpenDayLight.snapshot/)]:mvn:com.example.toaster/features-toaster

上面的命令就是基于这个帖子。执行repo-add的正确方法是什么?

共有1个答案

澹台华翰
2023-03-14

请阅读https://karaf.apache.org/manual/latest/#_artifacts_repositories_and_urls文章。您需要做的基本上是将包含您的烤面包机的回购URl添加到包中,如下所示:(上面链接的文档中的示例)

<bundle>http://repo1.maven.org/maven2/org/apache/servicemix/nmr/org.apache.servicemix.nmr.api/1.0.0-m2/org.apache.servicemix.nmr.api-1.0.0-m2.jar</bundle>

还可以使用属性定义存储库:

org.ops4j.pax.url.mvn.repositories:远程存储库URL的逗号分隔列表,这些URL在解析maven工件时按照出现的顺序进行检查

 类似资料:
  • 本文向大家介绍为Nginx添加SPDY功能,包括了为Nginx添加SPDY功能的使用技巧和注意事项,需要的朋友参考一下 本人帮协会搭的论坛,一直是使用ssl访问的,但是普通的https既慢又吃资源,而有个协议可以很方便的解决这个问题,那就是大Google发明的SPDY协议。所以,我也开始尝试着给自己的论坛加上SPDY协议,WEB服务器本人选择的是nginx,在过去,Nginx并没有内置SPDY协议

  • 本文向大家介绍Swift如何为设置中心添加常用功能,包括了Swift如何为设置中心添加常用功能的使用技巧和注意事项,需要的朋友参考一下 前言 在我们开发所有的应用中,通常会提供包含多项功能的设置中心。这些功能可以包括,给用户推荐自己的其他作品、邀请用户好评、提供反馈通道、邀请用户分享应用、打开官网或某些其他地址。 这些功能虽然用户使用频率不高,但对于应用的设置中心是必备的。 1.跳转到AppSto

  • 问题内容: ng-model上的角ng-change传递给子指令 基本上,我希望能够将ng-model从父指令传递给子指令。我只能使用2向绑定值,但是这样我将无法在child元素的parent指令中使用ng- change。我也可以使用ng-click,但这不适用于非单击式更改(例如,文本区域而不是复选框)。所以我想知道是否有一种方法可以使自定义指令具有ng- model / ng- change

  • 问题内容: 扩展现有Python模块的最佳实践是什么–在这种情况下,我想通过向基础API类添加新方法来扩展该包。 我看了看,我也很喜欢。我只是发现更容易理解和扩展所需的功能。 我已经编写了方法-我试图找出在不更改此模块核心的情况下将其添加到package模块中的最Pythonic且破坏性最小的方法。 问题答案: 几种方法。 简单的方法: 不要扩展模块,扩展类。 exttwitter.py 缺点:t

  • 我的团队在DynamoDB中添加了一个新字段,我需要为当前不包含该字段的所有条目添加一个整数。 我尝试在这里使用Update示例,但是我得到了一个,因为我的子句不包括主键。但是,我不需要按主键过滤,因为我只关心没有新列值的条目。 我正在运行的查询是PartiQL,它是:

  • 问题内容: 我有办法 在内部,我想调用另一个方法并将其传递,但是我想向其他对象添加新元素(描述)。 如何在Java中做到这一点?代码是什么样的? 问题答案: 只是一个数组。因此: 您可能需要弄混的通用类型。 您可以更快但更冗长: