3

这合法吗?

MANIFEST.MF for org.fragment1(org.host是一个普通的包,不是一个片段):

Bundle-SymbolicName: org.fragment1
Fragment-Host: org.host

MANIFEST.MF 用于org.fragment2

Bundle-SymbolicName: org.fragment2
Fragment-Host: org.fragment1

或者应该org.fragment2

Fragment-Host: org.host

?

4

2 回答 2

6

片段包不能有其他片段包作为主机。只有普通包可以充当片段主机。所以你的第三个例子是正确的:

或者应该org.fragment2

Fragment-Host: org.host

您可以在第 70 页的OSGi 服务平台版本 4 版本 4.3 核心规范中找到此限制。它说:

另一个带有 Require-Bundle 标头的包不能需要片段包。

于 2011-08-11T09:35:02.957 回答
3

片段附加到主机。它们不能附加到其他片段。您可以构建功能和要求(Core 4.3 中的新功能)以防止片段附加到主机,除非还附加了另一个片段。例如,片段 1 可以提供片段 2 所需的能力。这可能会提供您寻求的控制级别。

于 2011-08-11T14:16:01.787 回答