【问题标题】:Bundlename of an installed p2 installable Unit已安装的 p2 可安装单元的 Bundlename
【发布时间】:2015-07-19 08:27:37
【问题描述】:

我想在安装之前从 p2 可安装单元中获取 Bundle 的名称。

例如,我有一个带有以下 feature.xml 的可安装单元功能组。

<feature
  id="com.xyz.example.feature"
  label="Feature"
  version="1.0.0.qualifier">

<plugin
      id="com.xyz.example2"
      download-size="0"
      install-size="0"
      version="0.0.0"
      unpack="false"/>

<plugin
      id="com.xyz.example3"
      download-size="0"
      install-size="0"
      version="0.0.0"
      unpack="false"/>

</feature>

安装功能后,当我列出所有捆绑包时,捆绑包的名称将是 id。 如何在安装之前以编程方式从可安装单元中获取此 ID。

【问题讨论】:

    标签: java osgi equinox p2


    【解决方案1】:

    IIinstallableUnit 接口扩展了IVersionedId,它为您提供了#getId 方法。对于osgi.bundle 类型的 IU,ID 是 BSN(捆绑符号名称)。

    查看http://help.eclipse.org/luna/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fapi%2Forg%2Feclipse%2Fequinox%2Fp2%2Fmetadata%2FIVersionedId.html

    【讨论】:

    • 为我的 IU 组调用 #getId 返回功能 ID (com.xyz.example.feature.feature.group) 而不是插件 ID(Bundle ID)
    • 当然,如果您询问功能组。你应该问捆绑iu
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-09
    • 1970-01-01
    • 2011-12-11
    • 2012-05-11
    • 2018-06-27
    • 1970-01-01
    相关资源
    最近更新 更多