我是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。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top