我很自私地知道这个答案。 我有一个问题,比如我有3罐A,B和C. 现在jar A需要导入jar C版本1.1,而Jar B需要导入jar版本1.5。
所以,根据我的理解,就像所有这些jar文件一样 由单独的类加载器加载。所以在加载后如何OSGi 将使用特定的jar来处理不同版本的场景。
答案 0 :(得分:1)
此方案将要求部署四个捆绑包,A,B和C-1.1以及C-1.5。
A已解析(使用自己的类加载器),它将从bundle C-1.1加载任何依赖类。
B已解析(使用自己的类加载器),它将从C-1.5包加载任何依赖类。
这允许两个版本的C能够在同一个应用程序中使用,因为它们不会被同一个类加载器加载,因此不会与同名的类存在冲突。