在 OSGI 中导入包

import package in OSGI

我经常会看到类似这样的内容:

<Import-Package>
   package-a,
   package-b,
   package-c,
   *
</Import-Package>

我不明白通配符 * 的使用,如果最后我们使用 *

,为什么还要指定 package-a, package-b ...

我想我没有正确理解通配符的使用...

通配符意味着 Bnd 将处理包中包含的 class 文件以引用包中未包含的类型。然后将必要的包添加到 Import-Package header.

当包对 Bnd 的类型搜索不可见时,可以使用显式列出包,例如动态 class 加载,或者您需要在包上指定一些属性。