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

felix maven bundle插件错误(

巫马瀚漠
2023-03-14

我使用ApacheFelix实现osgi包,并将其用作嵌入式Felix框架来调用boundle

这是我的maven插件,用于构建清单。MF:

<plugin>
            <groupId>org.apache.felix</groupId>
            <artifactId>maven-bundle-plugin</artifactId>
            <version>3.5.0</version>
            <extensions>true</extensions>
            <configuration>
                <instructions>
                    <Embed-Dependency>*;scope=compile|runtime</Embed-Dependency>
                    <Bundle-Activator>a.b.c.osgi.activator.Activator</Bundle-Activator>
                </instructions>
            </configuration>
        </plugin>

我构建项目,然后像这样在嵌入式felix中使用jar文件

BundleContext bundleContext = f.getBundleContext();
    Bundle bundle = bundleContext.installBundle(
            "file:/home/eclipse_workSpace/my-module/target/abc-1.1.0.jar");)

    String bName = bundle.getLocation();
    bundle.getRegisteredServices();
    bundle.getState();

    /* Bundle[] bls = bundleContext.getBundles(); */

    System.out.println("starting bundle " + bName);
    bundle.start();

当我开始边界时,我得到了这个例外

线程“main”组织中出现异常。奥斯基。框架BundleException:无法解析a.b.c[1](R1.0):缺少要求[a.b.c[1](R1.0)]osgi。装电线。包裹(

我该怎么解决这个问题?

共有1个答案

白博赡
2023-03-14

此错误消息意味着您的捆绑包依赖于Google Guava 21版。具体来说,这一行:

missing requirement [a.b.c [1](R 1.0)] osgi.wiring.package; (&(osgi.wiring.package=com.google.common.base)(version>=21.0.0)(!(version>=22.0.0)))

... 意味着您的捆绑包“a.b.c”导入包com.google.常见的基本版本大于或等于21,但不大于或等于22。因为您的包导入了这个包,所以在您的OSGi框架中必须有另一个包导出这个包。

解决方案是确保Guava 21安装到OSGi框架中。

 类似资料:
  • 我正在尝试演示应用程序,但是当在中导入项目时,我在pom.xml文件中得到以下错误

  • 我有一个问题,在制作Minecraft插件和编写代码方面是新手。 我试图制作一个插件,在执行第二个命令之前等待大约15秒,但是我现在的代码在我尝试做的时候有一个错误(插件,新的Runnable()。我做了一些研究,大多数人说这是因为我的主类中没有这个。问题是我不想让它在我的主类中。所以我想知道我必须做什么来使这个工作。 代码如下。提前感谢您能提供的任何帮助。~石头 给我带来问题的代码就在这里(插件

  • 我正在尝试编写Grails openId插件的教程。我创建了一个测试应用程序,完全按照伯特·贝克维思教程中的步骤操作http://grails-plugins.github.com/grails-spring-security-openid/docs/manual/guide/3.教程。html 但是,当我已经在这样做的步骤:$grails s2-快速入门com.openidtest用户角色 它显

  • 我正在学习使用docker的Spring boot教程 我是不是遗漏了docker的配置?

  • 我已经为Jasper1.6.1安装了插件,可以在插件的目录中看到它。然而,根据http://grails.org/plugin/jasper,它说当你运行你的应用程序时,通过(app-url)/jasper/demo来测试插件。当我试着那样做的时候,它不起作用。我很确定我漏掉了什么,但文件没有说。请帮忙。

  • 这是我在将SDK和Build工具更新到Android M时遇到的错误。 当类路径< code > ' com . Android . tools . build:gradle:1 . 2 . 3 ' 更改为1.3时 我遇到了另一个错误。 我现在该怎么办?