【发布时间】:2017-02-13 13:43:11
【问题描述】:
我正在开发一个基于 OSGi 的应用程序。在记录自己关于 OSGi 框架的特性时,我偶然发现了 extension bundle 的概念。引用 R4 规范 (OSGi R4):
扩展包可以提供框架的可选部分 实现或提供必须驻留在引导上的功能 类路径。这些包不能由正常提供 导入/导出机制。引导类路径扩展是必要的 因为某些包实现假定它们在 引导类路径或需要对所有客户端可用。一个 引导类路径扩展的示例是 java.sql 如 JSR 169
可能只是我很愚蠢,但我在理解这个概念时遇到了困难。我有几个问题:
据我了解,扩展包似乎在做
org.osgi.framework.system.packages.extra和org.osgi.framework.bootdelegation(即com.sun.*或sun.*)的相同 工作。我对吗?如果不是,它们之间有什么区别?您能给我展示一个扩展包的真实用例场景吗?上面写着:“除非你使用扩展包,否则你做不到!” Here 有人已经尝试为扩展包提供示例,但(至少对我而言)似乎可以通过调整
org.osgi.framework.system.packages.extra和org.osgi.framework.bootdelegation来获得相同的结果;
我知道已经有this SO answer,但对我来说它并没有完全切中要害。
感谢所有友好的回复!
【问题讨论】:
标签: java osgi osgi-bundle