我对 OSGi 平台很陌生。
有一个 OSGi bundleB1依赖于另一个 bundle B2,这很可能不是由容器提供的,我可以将两个 bundle 打包在同一个中jar吗?
如果是:如何做到这一点?如果jar安装了并且已经安装了捆绑包会发生什么?
是的,你可以这样做......有点。
通常 OSGi 包是 JAR 文件,因为它们需要有一个 META-INF/MANIFEST.MF。OSGi 框架无法直接读取您的“多包”JAR。
但是,在 OSGi 中安装包涉及调用该BundleContext.installBundle方法。这个方法有两种风格,一种是将 InputStream 作为参数;这个 InputStream 应该提供 OSGi 包的内容。因此,您可以使用您的大 JAR 并使用 JarInputStream 读取它,将各个条目传递给该installBundle方法。
| 归档时间: |
|
| 查看次数: |
662 次 |
| 最近记录: |