【问题标题】:Which way does Fragment-Host operate with OSGi fragments?Fragment-Host 以哪种方式操作 OSGi 片段?
【发布时间】:2022-01-07 15:32:18
【问题描述】:

我很难让片段按我的意图工作。它向我提出了一个问题,网络上的各种文章都没有回答。

首先,我对片段的理解是,它很像 OSGi Bundle,只是它不会自行激活。相反,它由另一个包托管。这样一来,它就可以被认为是对现有捆绑软件的扩展。

以上如有错误请大家指正。

现在的主要问题是 Manifest 属性,这些属性通常与有关 Fragment 的文章一起使用,特别是 Fragment-Host 属性。 Fragment-Host 属性通常声明一个符号包名称,但不清楚的是:

  1. 如果包含 Fragment-Host 的清单属性是现有捆绑包的一部分,则声明在另一个模块中定义的片段(即:托管捆绑包声明它将托管的片段) -或-
  2. 如果包含 Fragment-Host 的清单属性是声明片段的模块的一部分,其值定义了托管捆绑包(即:片段声明托管它的捆绑包)这是我的相信它,因为“Fragment-Host”听起来像是在声明将托管片段的内容。

这似乎是一个基本问题,但并没有得到真正的回答,而且在没有一个可行的例子的情况下,我只能质疑它应该采用哪种方式。大多数指定需要片段并且“这些是清单应该是什么样子”的人并没有声明这种可以极大地澄清问题的简单信息。

【问题讨论】:

    标签: osgi manifest osgi-bundle osgi-fragment


    【解决方案1】:

    是(2)。片段包有一个 Fragment-Host 清单头,它声明了它的主机包的包符号名称。片段包被“附加”到主机包和由主机包的类加载器加载的类。

    【讨论】:

    • 谢谢,周五我已经够远了,我可以肯定地看到这个。我只是有一些传递依赖项的琐碎似乎也放入了片段中,这是出乎意料的,因为我开始关注link,但它为 log4j2 显示的清单标头似乎还不够。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-08
    • 2017-12-24
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 2021-12-21
    相关资源
    最近更新 更多