【发布时间】:2012-06-29 16:56:19
【问题描述】:
我正在学习 osgi 框架。它说 osgi 在严格的类加载环境中工作。我无法得到什么是严格的类加载。请帮助我无法理解这个概念
谢谢
【问题讨论】:
-
这没有任何意义。说这话的人需要解释他们的意思。如果您发布引用的链接,那么它可能会得到澄清。
标签: osgi classloader
我正在学习 osgi 框架。它说 osgi 在严格的类加载环境中工作。我无法得到什么是严格的类加载。请帮助我无法理解这个概念
谢谢
【问题讨论】:
标签: osgi classloader
严格的类加载意味着模块(包)必须明确指定它需要什么。在 OSGi 中,这是使用 Manifest 标头完成的。 Import-Package 列出捆绑包所需的包及其版本范围,Export-Package 列出捆绑包提供的包及其版本。在 OSGi 运行时中,每个包都有一个类加载器,它根据导出和导入连接包。
您不应该手动定义这些标题。有一个名为 bnd 的好工具,或者在 maven 中来自 felix 的 maven bundle 插件,它可以为您完成大部分工作。在本教程中,您将了解这在实践中是如何工作的: http://www.liquid-reality.de/x/DIBZ
你会看到我实际上并没有在那里手动定义太多。因此,将代码构建到 meta-inf/Manifest 中,看看它做了什么。
【讨论】:
严格的类加载环境意味着需要指定适当的类头。例如类路径和导入包
【讨论】: