何时从我的插件的依赖项中完全加载了plugin.xml文件?

时间:2020-03-06 14:42:39  来源:igfitidea点击:

我用eclipse rcp应用程序。在我的插件A中,我使用了第三方插件B。
在插件B中,有一些扩展的plugin.xml。在我的插件A中,我向插件B中定义的扩展添加了一些扩展,并且可以正常工作。

现在,我尝试覆盖插件A中B的某些扩展名中的某些值。
现在,当我运行应用程序时,有时会使用旧值(来自插件B中的plugin.xml),有时会使用新值(来自插件A plugin.xml)。在一次执行应用程序中,它是一致的,但是随着执行过程的变化而变化。

获取这些值的代码在插件B中,我不想更改它。看起来像这样:

IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint("org.jbpm.gd.common.xmlMappings");
IExtension[] extensions = extensionPoint.getExtensions();

我如何确保将使用我的价值观?

我认为设置正确的plugin.xml文件加载顺序很重要,所以我的plugin.xml将是最后一个,并且我的值将覆盖它们的值,但是我不确定该怎么做。

解决方案

Eclipse不保证可以看到扩展的顺序。此外,加载特定插件时没有保证的生命周期。如果需要担保,则需要手动实施,这可能需要更改插件B。