OSGi框架api中是否有封装未安装在容器中的bundle?基本上,这会带来一个文件,并为文件系统中的bundle生成一个带有getSymbolicName(),getExportedPackages(),getBundleVersion()等的对象。
我看到Bundle,但文档在第一句中说:
框架中已安装的捆绑包。
所以这个接口的方法对于没有安装的bundle没有意义,只是坐在文件系统中,这就是我需要的。例如,它有start()
方法,在容器外没有意义。与getBundleId()
我需要一个,我想在创建自己的
之前知道是否有标准的答案 0 :(得分:1)
Bundle是一个INSTALLED包。它可以在OSGi容器内用于由容器处理的bundle。但是,如果您需要提到的信息,那么使用小功能很容易。
你可以在checkBundle()函数中找到一个例子here(来自第91行)
修改强>
如果捆绑包来自其他一些但不是来自文件系统,则可以使用JarInputStream。
您可以尝试将felix manifest parser class(或equinox或Knopflerfish等效项)取出到独立项目中并与社区分享; - )。