【问题标题】:Insert bundle into osgi failed将捆绑包插入 osgi 失败
【发布时间】:2015-06-05 13:59:31
【问题描述】:

亲爱的:

我编写了一个示例插件,我想将此捆绑包插入到我的控制器中。但是当我在 OSGI 中启动它时出现错误,它显示:

gogo: BundleException: The bundle "org.opendaylight.controller.ping.plugin_0.4.0.SNAPSHOT [98]" could not be resolved. Reason: Missing Constraint: Import-Package: org.opendaylight.controller.sal.binding.api; version="[1.1.0,2.0.0)"

参考这个post page,我认为我有一个没有依赖关系的更新版本的插件。

错误显示org.opendaylight.controller.sal.binding.api的最小版本号是1.1.0,我的版本是1.0-1,我在controller/opendaylight/distribution/opendaylight/target/distribution.opendaylight-osgipackage/opendaylight/plugins的目录中查找。

我的问题是如何将版本从1.0-1 切换到1.1,我可以在我的目录中找到1.1 版本的sal.binding.api:~/.m2/repository/org/opendaylight/controller/sal-binding-api/1.1-SNAPSHOT

当我查看我的 pom.xml 时,我发现我的依赖项是 1.1:

<dependency>
      <groupId>org.opendaylight.controller</groupId>
      <artifactId>sal-binding-api</artifactId>
      <version>1.1-SNAPSHOT</version>
    </dependency>

我觉得很奇怪。

非常感谢任何人的回复!

最好的问候,
文伦

【问题讨论】:

    标签: java eclipse maven osgi opendaylight


    【解决方案1】:

    插件版本的格式应该是“major.minor.micro.build”,其中“major”、“minor”和“micro”都是数字,“build”可以是任何东西。所以你应该有类似 1.1.0.SNAPSHOT 的东西。

    【讨论】:

      【解决方案2】:

      我已经解决了这个问题:在 pom.xml 中将版本 1.1 更改为 1.0-1。之后如果有其他问题,将1.1版本改成1.0-1,换个jar包继续。

      【讨论】:

        猜你喜欢
        • 2011-09-22
        • 2023-03-03
        • 2012-06-29
        • 1970-01-01
        • 1970-01-01
        • 2012-04-05
        • 1970-01-01
        • 2012-06-26
        • 2015-08-13
        相关资源
        最近更新 更多