我对OSGi非常陌生。OSGi类加载器问题
我开发一个插件A(OSGi包),假设甲取决于库,假设B-1.0和C-1.0。现在如果库C-1.0取决于库B-2.0(注意:不同版本的库B)。所以我的插件在其类路径中有两个不同版本的库B。现在,我该如何处理这种情况?
正如我在过去4-5天研究OSGi,它为JIRA应用程序中的每个插件创建一个类加载器,因此插件之间不会出现依赖关系版本不匹配。但是开发人员会做什么如果插件本身需要两个不同版本的库jar?
我可以通过OSGi在单个osgi包中创建两个不同的类加载器,比如一个用于包X,另一个用于包Y?
请帮助我在上述任何情况下或指向正确的方向。
在此先感谢。
感谢所有您的解决方案,并非常抱歉我的迟交回复,但您提供的解决方案假定这些全部都是OSGi捆绑包。好的,让我重述一下我的问题,我的问题是我只有一个OSGi捆绑软件**插件A **,其他都是简单的库,而不是OSGi捆绑软件包。一个单独的OSGi包如何使用库** B-1.0 **作为它的一个包说** com.example.foo **并且使用库** B-2.0 **作为另一个包说** com.example。酒吧**。 (这就是为什么我要求在一个OSGi包中创建两个不同的类加载器。) –