代码之家  ›  专栏  ›  技术社区  ›  Imaskar

历史:Eclipse基金会为什么选择OSGi?

  •  1
  • Imaskar  · 技术社区  · 17 年前

    当时有并行技术吗? 与其他技术和本机(3.0之前)技术相比,OSGi的优势是什么?

    2 回复  |  直到 15 年前
        1
  •  3
  •   mP.    17 年前

    OSGi的主要好处可能是能够隔离单独的bundle。这允许一个bundle对全局类加载器隐藏其依赖项。

    很多时候,在构建大型系统时,一个组件需要某个库,而另一个组件使用同一库的不同但不兼容的版本。在这种情况下,选择库的一个版本而不是另一个版本会破坏另一个版本。

    JAR和WAR的独立类加载器是一种早期尝试,旨在允许对独立和隔离组件的依赖项进行模块化和管理。如果您查看WebLogic等的旧版本,您会注意到它们将常用库(如Xerces)重新打包在WebLogic下。*以避免与您的应用程序可能希望包含的Xerces发生冲突。

    有了OSGI,每个bundle可以只向核心公开一个包含接口的包。然后,每个bundle都可以使用自己的lib,而不用担心上面描述的类路径类问题。