启动Eclipse RCP应用程序时加载更新包(插件)的预处理步骤

时间:2013-08-09 15:13:00

标签: java osgi eclipse-rcp

我希望通过以下功能增强我的Eclipse RCP应用程序:启动应用程序时,引导机制应检查文件夹中是否有可用的更新包/插件,如果是,请通过BundleContext安装它们。但问题是,这意味着包含我的IApplication实现的bundle也可以更新。因此,预处理步骤必须在启动OSGi之后,但在启动应用程序之前。是否有可能做到这一点? (在开始申请之前覆盖旧捆绑包等其他方法是不可行的。)

2 个答案:

答案 0 :(得分:1)

这是OSGi启动级别设计的东西。您可能还想检查Apache Felix Fileinstall(在Eclipse中正常工作)。

答案 1 :(得分:0)

最后,我最终使用Eclipse adaptor hook。使用这种方法,我可以在加载我的应用程序的默认捆绑包之前加载所需的捆绑包。正如我对Peter的答案所评论的那样,对于Eclipse RCP应用程序来说,OSGi启动级别似乎被忽略了(如果我错了,请纠正我)。同时为 org.eclipse.ui.startup eclipse扩展点创建启动扩展也无济于事,因为它触发太晚了。如果您对Eclipse适配器钩子方法感兴趣,可以在this page上找到一个很好的教程。