假设我有Bundle bundle=...;
我能获得这个OSGi包的文件名吗?我搜索过但没找到任何东西。我现在唯一能做的就是通过标题获取包符号名称,但它不是文件名,因为符号名称在清单中设置,并且不能等于文件名。
答案 0 :(得分:2)
总的来说,答案是否定的。 OSGi规范不要求框架保留jar文件。例如,OSGi框架实现可以将jar文件扩展到文件系统或将内容放入数据库中。可以任意方式自由存储包内容。
OSGi框架的实现可能会提供非标准的方法来定位jar,如果它仍然存在的话。我相信Equinox提供了一个可用于此的FileLocator服务。