如何编译osgi中的两个依赖包

use*_*070 1 dependencies osgi compilation bundles

我正在学习OSGi框架.我发现Bundles包含.class文件和清单文件.现在假设我有两个捆绑包A和B,捆绑包B依赖于捆绑包A的服务.因此,在编译bundle B时,我必须将Bundle A的服务类保留在bundle B的类路径中,或者必须将它(Bundle A的服务)保存在bundle B中,以便编译器可以编译.现在,如果我们这样做,那么如何实现模块化以及两个捆绑包是如何独立的.请帮忙.谢谢

Nei*_*ett 6

使用接口!!

你有接口I.类在编译时和运行时都A实现I并因此依赖于它.Class B使用I它作为OSGi服务获取的实例.因此B取决于I编译时和运行时.

因此,他们既A没有B彼此也没有直接的知识.隐藏实现代码,只有界面可见并共享.这就是模块化的实现方式.