我是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将是最后一个,我的值将覆盖他们的,但我不知道该怎么做。
答案 0 :(得分:1)
Eclipse不保证看到扩展的顺序。此外,在加载特定插件时没有保证的生命周期。如果您需要保证,则需要手动实现,这可能需要更改插件B。