我想知道在构建Java应用程序时为什么要使用OSGI框架。我正在网上搜索,但答案对我来说看起来很复杂。请问有人能够解释一下为什么我们需要采用OSGI吗?
如果这个问题不适合stackoverflow,我很抱歉。感谢读者的耐心。谢谢。
我想知道在构建Java应用程序时为什么要使用OSGI框架。我正在网上搜索,但答案对我来说看起来很复杂。请问有人能够解释一下为什么我们需要采用OSGI吗?
如果这个问题不适合stackoverflow,我很抱歉。感谢读者的耐心。谢谢。
OSGi 提供了模块化系统,支持模块版本控制和一定程度的生命周期管理。它可以管理模块间依赖关系、动态/惰性启动/卸载模块、查找/发现等。
其中部分功能将成为 Java 语言的一部分。相比于类的混乱连线,它提供了更少的复杂性。
在我看来,OSGI本身需要大量样板代码才能实现其功能。但是,如果您使用像Karaf和iPOJO这样的库,大部分开销都会被隐藏,您将获得大部分好处。
主要好处是能够控制使用哪些版本并进行适当的模块隔离。例如,您可以: