1

我 vahe eclipse rcp 应用程序。在我的插件 AI 中使用 3rd 方插件 B。在插件 B 中有 plugin.xml 和一些扩展。在我的插件中,AI 为插件 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 将是最后一个,我的值将覆盖他们的值,但我不知道该怎么做。

4

1 回答 1

1

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

于 2008-09-25T13:19:38.750 回答