[英]Osgi: update already installed bundle when installing from jar?
我实现了一项功能,即我的osgi在启动时或在接收新的捆绑包时以编程方式在文件系统上安装表示为jar的捆绑包。 但是,当我收到一个时,它在启动过程中已经安装,由于冲突而崩溃。 如果发生冲突而不是通过编程安装,是否有办法(我不知道ID或名称)?
BundleContext context = FrameworkUtil.getBundle(this.getClass()).getBundleContext();
Bundle bundle = context.getBundle("file:/Path.jar");
希望有人知道...
我在类似情况下的操作:
如果要允许同一捆绑包的多个版本,则可以在更新或安装之前也检查捆绑包的版本。 在这种情况下,如果
如果您关心位置并且位置已更改,请使用bundle.uninstall()和bundlecontext.install(...)代替update(inputstream),它们会重新安装捆绑包。
最后,您应该调用refresh()以具有正确的包装接线。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.