0

我很想知道这个答案。我有一个问题,比如我有 3 个 jar A、B 和 C。现在 jar A 需要导入 jar C 的 1.1 版,而 Jar B 需要导入 jar C 的 1.5 版。

那么,根据我的理解,是不是所有这些 jar 文件都将由单独的类加载器加载。因此,在加载后 OSGi 将如何处理具有特定 jar 的不同版本场景。

4

1 回答 1

1

此方案需要部署四个捆绑包,A、B 和 C-1.1 和 C-1.5。

  • A 被解析(使用它自己的类加载器),它将从包 C-1.1 加载任何依赖类。

  • B 被解析(使用它自己的类加载器)它将从包 C-1.5 加载任何依赖类。

这允许两个版本的 C 能够在同一个应用程序中使用,因为它们不会由同一个类加载器加载,因此不会与同名的类存在冲突。

于 2012-05-02T13:36:31.413 回答