如何向 OpenDayLight Karaf 添加新功能?

2024-02-09

如何将新功能添加到 ODL Oxygen SR3 (0.8.3) 作为 Karaf 模块?

例如,我从以下位置下载了预构建的 ODL:官方网站 https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/karaf/0.8.3/karaf-0.8.3.tar.gz。然后我想做烤面包机样品 https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:Toaster_Step-By-Step作为 Oxygen 的新模块,它是使用命令创建的:

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-snapshot 中找不到工件 com.example.toaster:features-toaster:jar:0.1.0-SNAPSHOT (https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/)] https://nexus.opendaylight.org/content/repositories/opendaylight.snapshot/)%5D: mvn:com.example.toaster/features-toaster

上述命令基于这个帖子 https://ask.opendaylight.org/question/7896/how-to-use-add-repo/。正确的做法是什么repo-add?


请阅读https://karaf.apache.org/manual/latest/#_artifacts_repositories_and_urls 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 Maven 工件

Source: https://karaf.apache.org/manual/latest/#_maven_url_handler https://karaf.apache.org/manual/latest/#_maven_url_handler

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何向 OpenDayLight Karaf 添加新功能? 的相关文章

随机推荐

  • 接收和旋转字符的函数 - 凯撒密码

    我正在尝试创建一个函数 rotate character char rot 接收一个字符 char 长度为 1 的字符串 和一个整数 rot 该函数应返回一个长度为 1 的新字符串 这是将 char 向右旋转 rot 个位数的结果 因此 输
  • 选择小数点后 4 位以上的数字

    我有一个 SQL 表 其中有一个浮点列 其中填充了如下值 1 4313 3 35 2 55467 6 22456 3 325 我需要选择仅包含小数点后 4 位以上的值的行 在这种情况下 选择必须返回 2 55467 6 22456 有想法吗
  • 在 H5PY 中打开文件时出错(未找到文件签名)

    我一直在使用以下代码来打开一些 HDF5 文件 这些文件是在 MATLAB 中使用 H5PY 在 python 中生成的 import h5py as h5 data dataset mat f h5 File data r 但是我收到以下
  • 更大的运算符“">”是否满足严格的弱排序?

    定义 Let lt 是一个二元关系 其中a lt b means a小于b Let gt 是一个二元关系 其中a gt b means a大于b 所以 我们假设 lt and gt 具有我们在日常生活中通常使用的含义 不过 在某些编程语言
  • 有人可以解密这个javascript吗

    我在一个论坛中找到它 告诉我这段代码可以让我自动玩 Facebook 游戏 但我担心这不是他们所说的 我担心这是恶意脚本 请帮忙 javascript var 0x8dd5 x73 x72 x63 x73 x63 x72 x69 x70 x
  • 将 .db 文件导入 R

    我正在尝试使用下面的代码导入 db 文件 该代码与包的示例相同 并且显示找不到函数 有人知道如何导入 db 文件吗 library ProjectTemplate db reader c3 db Users xxx Documents c3
  • 在 Startup.cs .net core 2.1 中加载程序集

    我在名为 nuqkgs 的文件夹中有块包 在项目启动时我想将这些包 有 dll 加载到项目中以在运行时使用 我使用下面的代码来加载它们 当我调试时 我可以看到信息 并且找到并打开了 dll 但是当应该使用它们时 我收到错误 找不到 dll
  • TEdgeBrowser 模态打印对话框?

    TEdge浏览器有替换了 TWebBrowser https docwiki embarcadero com RADStudio Alexandria en Using TEdgeBrowser Component and Changes
  • 更改默认图标工具栏(传单)

    我如何将默认工具栏图标更改为传单上的其他图标 上面的图片显示了图标的默认视图 我想自定义图标并将其更改为其他图标 例如我希望第一个图标看起来像桥梁和第二个文本图标等等 我已经尝试了几种方法但没有成功 这是我的代码 var electricp
  • 在 lapply 函数中访问和保留列表名称

    我需要访问 lapply 函数内的列表名称 我在网上找到了一些线程 据说我应该迭代列表的名称 以便能够获取函数中的每个列表元素名称 gt n names mylist gt mynewlist lapply n function namei
  • 在另一个视图控制器中更改标签的文本

    我有一个名为 FirstViewController 的视图控制器 还有一个名为 SecondViewController 的视图控制器 我提出第二个视图控制器 UIViewController controller self storyb
  • 在 C 中声明和修改字符串

    我最近开始尝试学习C语言 在我的第一个程序 简单的 hello world 事情 中 在我意识到我不能这样做之后 我遇到了声明字符串的不同方法variable name string data char variable name data
  • Solr 和 MySQL,如何保持更新的索引,以及,如果很简单,是否还需要数据库?

    我是 Solr 的初学者 所以请耐心等待 在我当前的项目中 我有一个非常简单的数据库 只有 1 个表 其中包含 4 个字段 id name subject msg 据我了解 每次添加 或删除 新记录时 我都需要将该记录添加到索引中 本质上执
  • 如何计算具有三角形面的网格的质心?

    我想根据以下描述计算网格的新质心 但我不想使用 Blender 的内置函数来计算质心 如所解释的here https blender stackexchange com questions 14294 how to recenter an
  • 如何保存pip包

    我们有一个基于 python django 的 Web 应用程序 其中许多组件都是使用 pip 安装的 所以我想问是否有一种方法可以保存或下载并保存我们正在 pip install 的特定 python 包 例如 pip install d
  • 将 md5 哈希字节数组转换为字符串

    如何将哈希结果 字节数组 转换为字符串 byte bytePassword Encoding UTF8 GetBytes password using MD5 md5 MD5 Create byte byteHashedPassword m
  • 在Java中像表格一样打印二维数组[重复]

    这个问题在这里已经有答案了 我想像表格一样打印输入的二维数组 也就是说 如果出于某种原因他们全都输入 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 就像上面一样 但在 Java Eclipse 的控制台中 没有花哨的按
  • “404 重定向”是合法的重定向吗?

    我遇到的情况是 某些用户可能会通过链接等进入错误输入的页面 在大多数情况下 我可以确定应显示的正确页面 因此我想重定向到正确的 URL 301 重定向适合这种情况吗 301 的意思是 永久移动 但在这种情况下 该文档一开始就不存在 设置 4
  • 实体框架核心:当 IDENTITY_INSERT 设置为 OFF 时,无法在表“关系”中插入标识列的显式值

    我正在构建一个应用程序 当我想将表单插入表单表时 出现以下错误 无法在表 关系 中插入标识列的显式值 当 IDENTITY INSERT 设置为 OFF 时 这些是我的模型 表格型号 DatabaseGenerated DatabaseGe
  • 如何向 OpenDayLight Karaf 添加新功能?

    如何将新功能添加到 ODL Oxygen SR3 0 8 3 作为 Karaf 模块 例如 我从以下位置下载了预构建的 ODL 官方网站 https nexus opendaylight org content repositories p