无法启动捆绑包 - 缺少要求(osgi.wiring.package)

2024-03-05

我是 Apache karaf 和 OSGI 的新手。我正在尝试编写并运行一个非常简单的包。但我在启动该捆绑包时收到此错误:

执行命令时出错:在捆绑包上执行命令时出错:无法 解决 karaf [86](R 86.0):缺少要求 [karaf [86](R 86.0)] osgi.wiring.package; (osgi.wiring.package=bundle) 未解决 要求:[[karaf [86](R 86.0)] osgi.wiring.package; (osgi.wiring.package=捆绑)]

我的 pom 是: 4.0.0

<groupId>com</groupId>
<artifactId>karaf</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>

<name>karaf Bundle</name>
<description>
    karaf OSGi bundle project.
</description>

<properties>
    <maven-bundle-plugin.version>2.5.4</maven-bundle-plugin.version>
    <osgi.version>6.0.0</osgi.version>
</properties>

<dependencies>
    <dependency>
        <groupId>org.osgi</groupId>
        <artifactId>org.osgi.core</artifactId>
        <version>${osgi.version}</version>

        <scope>provided</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.felix</groupId>
            <artifactId>maven-bundle-plugin</artifactId>
            <version>${maven-bundle-plugin.version}</version>
            <extensions>true</extensions>
            <configuration>
                <instructions>
                    <Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
                    <Bundle-Version>${project.version}</Bundle-Version>
                    <Bundle-Activator>bundle.Activator</Bundle-Activator>
                    <Export-Package>
                        bundle*;version=${project.version}
                    </Export-Package>
                    <Import-Package>
                         org.osgi.framework,*
                    </Import-Package>
                </instructions>
            </configuration>
        </plugin>
    </plugins>
</build>

我的manifest.mf 文件在这里。

> Manifest-Version: 1.0
Bnd-LastModified: 1394131053386
Bundle-Copyright: Copyright (c) OSGi Alliance (2000, 2014). All Rights R
 eserved.
Bundle-Description: OSGi Core Release 6, Interfaces and Classes for use 
 in compiling bundles.
Bundle-License: http://opensource.org/licenses/apache2.0.php; link="http
 ://www.apache.org/licenses/LICENSE-2.0"; description="Apache License, V
 ersion 2.0"
Bundle-ManifestVersion: 2
Bundle-Name: osgi.core
Bundle-SymbolicName: osgi.core
Bundle-Vendor: OSGi Alliance
Bundle-Version: 6.0.0.201403061837
Created-By: 1.6.0_45 (Sun Microsystems Inc.)
DynamicImport-Package: *
Export-Package: org.osgi.dto;version="1.0",org.osgi.resource;version="1.
 0",org.osgi.resource.dto;version="1.0";uses:="org.osgi.dto",org.osgi.fr
 amework;version="1.8",org.osgi.framework.dto;version="1.8";uses:="org.o
 sgi.dto",org.osgi.framework.hooks.bundle;version="1.1";uses:="org.osgi.
 framework",org.osgi.framework.hooks.resolver;version="1.0";uses:="org.o
 sgi.framework.wiring",org.osgi.framework.hooks.service;version="1.1";us
 es:="org.osgi.framework",org.osgi.framework.hooks.weaving;version="1.1"
 ;uses:="org.osgi.framework.wiring",org.osgi.framework.launch;version="1
 .2";uses:="org.osgi.framework",org.osgi.framework.namespace;version="1.
 1";uses:="org.osgi.resource",org.osgi.framework.startlevel;version="1.0
 ";uses:="org.osgi.framework",org.osgi.framework.startlevel.dto;version=
 "1.0";uses:="org.osgi.dto",org.osgi.framework.wiring;version="1.2";uses
 :="org.osgi.framework,org.osgi.resource",org.osgi.framework.wiring.dto;
 version="1.2";uses:="org.osgi.dto,org.osgi.resource.dto",org.osgi.servi
 ce.condpermadmin;version="1.1.1";uses:="org.osgi.framework,org.osgi.ser
 vice.permissionadmin",org.osgi.service.packageadmin;version="1.2";uses:
 ="org.osgi.framework",org.osgi.service.permissionadmin;version="1.2",or
 g.osgi.service.startlevel;version="1.1";uses:="org.osgi.framework",org.
 osgi.service.url;version="1.0",org.osgi.util.tracker;version="1.5.1";us
 es:="org.osgi.framework"
Import-Package: javax.security.auth.x500;resolution:=optional
Tool: Bnd-2.2.0.20130927-173453

让我们分解一下:“缺少需求”仅仅意味着您的捆绑包已安装到 OSGi 框架中,但它有一个要求,任何其他已安装的捆绑包都无法满足。

未解决的需求位于命名空间中osgi.wiring.package,这意味着这种需求是 Java 包导入,即您所看到的Import-Package在你的包的清单中。换句话说,您的捆绑包导入一个包,并且没有其他捆绑包导出该包。

最后的最后一点,(osgi.wiring.package=bundle), is a filter它表示您的捆绑包所需的确切包名称。在这种情况下,您的包显然导入了一个名为“bundle”的包。

这有点奇怪,并且意味着您可能在构建捆绑包的方式上犯了错误。如果您发布有关如何构建此捆绑包的详细信息,将会有所帮助。

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

无法启动捆绑包 - 缺少要求(osgi.wiring.package) 的相关文章

随机推荐

  • 使 jQuery 的 .prev().prev().prev().find("selector") 调用更容易

    我怎样才能避免 prev prev prev 打电话 这有捷径吗 您可以使用 prevAll 结合eq or eq since prevAll以相反顺序返回一组元素 从最接近当前元素的元素开始 0 相当于 prev prev prev 将会
  • ODBC 源的版本与此版本的数据流不兼容

    我有一个 SSIS 包 我使用批处理文件通过 DTEXec 运行它 它看起来像这样 cd C Program Files x86 SonicWALL SSL VPN NetExtender NECLI connect s test co u
  • 反序列化复杂对象中的 xml

    我不明白为什么对象为空 WebClient browse new WebClient StreamReader res new StreamReader browse OpenRead http ws audioscrobbler com
  • 将列值与 NA 进行比较

    下面的输入表的数据点是NA 我明白在R当一个值与NA它导致输出是NA 还有办法让我仍然可以使用进行比较ifelse 并确保所比较的值之一是否是NA那么它仍然会提供输出 就像NA是否正在比较字符 字符串 输入原始数据 data lt read
  • 不要在循环内创建函数[重复]

    这个问题在这里已经有答案了 在这种情况下解决 jslint 错误的正确方法是什么 我正在向使用它的对象添加一个 getter 函数 我不知道如何在不创建循环内的函数的情况下执行此操作 for var i 0 i
  • 类在 /Users/... 和 /Applications/... 中实现。使用两者之一。哪一个是未定义的

    我知道这是使用单元测试时的常见错误消息 但我没有这样做 这就是我所做的 我创建了一个新的命令行工具项目 我在print Hello World line 我输入类似的内容po 3 3进入控制台 然后我收到这条消息 objc 929 类 Tt
  • 如何在地图上以最少的重叠绘制网络

    我有一些作者所在的城市或国家 我想知道是否可以在地图上绘制合著者的网络 图 1 其中包含国家的坐标 请考虑来自同一国家 地区的多名作者 编辑 可以像示例中那样生成多个网络 并且不应显示可避免的重叠 这是为数十位作者准备的 缩放选项是可取的
  • \r 不生成换行符

    我使用以下代码 if delanaloge equals stari if novi equals zdruzen else zdruzen zdruzen novi r nap true r附加以创建换行符 但它不会像我预期的那样生成换行
  • VC++中如何判断链接是否存在?

    我有一个链接 我已通过正则表达式检查该链接是否是有效的 URL 现在 我想检查该链接是否是有效的 http 链接 即它不应该是不存在的链接 VC 6 0 MFC 有办法检查吗 一种选择是尝试使用以下方法从该 URL 获取数据URLOpenB
  • 关闭 Twisted conch SSH 连接的正确方法是什么?

    关闭 Twisted conch SSH 连接的正确方法是什么 有没有明确的方法来做到这一点 我见过的所有 Twisted conch 示例都会关闭 SSH 通道 然后停止反应器 反应堆关闭似乎可以处理关闭连接 但是 我将 wxreacto
  • 在Atom中使用anaconda环境

    我已经安装了 Anaconda Python 3 6 和 tensorflow python 3 5 我已经设法让它在 Spyder 和 sublime text 3 上运行 通过创建新的构建系统 现在所有的都是使用Atom 我不习惯 所以
  • 在heroku中记录多行消息

    我正在使用 NodeJS 开发一个应用程序并部署在 Heroku 中 我需要记录多行消息 例如堆栈跟踪和其他多行信息 但希望将它们保留为一条日志消息 问题是当使用console log 或任何使用的框架console log stdout
  • 如何从 AsyncTasks doInBackground() 检索数据?

    我会尽可能让这个简单 我的控制层中有一个使用类的方法CallServiceTask延伸AsyncTask 当调用新的CallServiceTask execute parameters 如何检索从返回的数据doInBackground 我发
  • Pig Latin:从某个日期范围加载多个文件(目录结构的一部分)

    我有以下场景 小猪版本使用0 70 HDFS 目录结构示例 user training test 20100810
  • 如何将自定义视图动态添加到 Visual Studio for Mac C# 中的视图

    我正在完成一个项目 其中我将拥有同一组表单组件的多个正方形大小的实例 我可以在表单 UI 中手动创建 8 个实例 或者我宁愿做的是创建一个视图 或项目渲染器 然后将该视图的实例动态添加到我的主视图中 如何将创建的自定义视图动态添加到 Xam
  • 使 AdMob 在 Android 2.3 设备上运行?

    好吧 我读了很多文章 问题和答案 但仍然找不到适合我的 我正在尝试在 Android 应用程序中显示 AdMob 横幅 我正在使用 Eclipse 和最新的 AdMob SDK 4 3 1 它需要 Android 3 2 13 才能工作 问
  • 如何禁用/启用带有复选框的按钮(如果选中)[重复]

    这个问题在这里已经有答案了 请我需要一个可以与下面的 HTML 代码一起使用的脚本 以便在选中或取消选中复选框时禁用 启用按钮
  • Android - “setToolbarColor(int)”和“setSecondaryToolbarColor(int)”已弃用

    我使用此代码打开 Chrome 自定义选项卡的链接 但它正在显示 Deprecated for setToolbarColor and setSecondaryToolbarColor 我还没有找到任何可以替代的东西 注意 Android
  • 根路径不适用于 php include

    在链接开头获取根文件夹在 php include 中不起作用 例如 example example php 解决办法是什么 我假设根文件夹是指您的网络文档根目录 而不是文件系统根目录 为此 您可以 将 Web 根文件夹添加到包含路径 htt
  • 无法启动捆绑包 - 缺少要求(osgi.wiring.package)

    我是 Apache karaf 和 OSGI 的新手 我正在尝试编写并运行一个非常简单的包 但我在启动该捆绑包时收到此错误 执行命令时出错 在捆绑包上执行命令时出错 无法 解决 karaf 86 R 86 0 缺少要求 karaf 86 R