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