【问题标题】:Check whether a file is an OSGi bundle (and find the bundle name) without installing it in the OSGi framework检查文件是否是 OSGi 包(并找到包名称)而不将其安装在 OSGi 框架中
【发布时间】:2011-12-08 13:40:27
【问题描述】:

有可能吗?还是我必须尝试安装它?

【问题讨论】:

    标签: osgi


    【解决方案1】:

    我假设您说的是 OSGi 第 4 版,因为在 OSGi 第 3 版和更早的版本中,任何有效的 JAR 文件也是有效的 OSGi 包。

    使用java.util.jar 包中的标准Java API 只需读取JAR 的清单。成为有效 R4 捆绑包所需的最小标头是:

    • Bundle-ManifestVersion: 2
    • Bundle-SymbolicName: ...

    正如 BJ 指出的那样,捆绑包的“id”是在安装时分配的,但很多人认为“id”实际上是捆绑包符号名称。

    【讨论】:

      【解决方案2】:

      您可以检查 Bundle-Name 或 *meta-inf/manifest.m*f jar 文件中的大量 Bunde-XXX 属性。

      【讨论】:

        【解决方案3】:

        bundle id 是在安装 bundle 时由框架分配的。因此,只有已安装的 bundle 有 bundle id。

        【讨论】:

        • 啊,这只是 Eclipse 滥用术语。我的意思是捆绑名称。
        猜你喜欢
        • 1970-01-01
        • 2014-05-03
        • 1970-01-01
        • 2014-12-01
        • 2016-04-08
        • 2016-02-03
        • 1970-01-01
        • 2015-11-06
        • 2014-05-17
        相关资源
        最近更新 更多