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

发布于 2024-07-07 05:18:48 字数 625 浏览 6 评论 0原文

我使用 eclipse rcp 应用程序。 在我的插件 AI 中使用第 3 方插件 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 将位于最后,而我的值将覆盖它们的值,但我不知道该怎么做。

I vahe eclipse rcp app. In my plugin A I use 3rd party plugin B.
In plugin B there is plugin.xml with some extensions. In my plugin A I have added some extensions to extensions defined in plugin B, and it works.

Now I tried to overwrite some values in some extensions from B in plugin A.
Now, when I run app sometimes it uses old values (from plugin.xml in plugin B), sometimes it uses my new values (from plugin A plugin.xml). It's consistent in one execution of app, but changes from execution to execution.

Code that gets these values is in plugin B and I wouldn't like to change it. And looks like that:

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

How can I ensure my values will be used?

I think it's matter of setting right order of loading of plugin.xml files, so my plugin.xml will be last, and my values will overwrite theirs, but I'm not sure how to do it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

没有心的人 2024-07-14 05:18:48

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

Eclipse makes no guarantees about the order that extensions are seen. Further, there is no guaranteed lifecycle for when specific plugins are loaded. If you want a guarantee, you need to implement it manually, and that will probably require a change of plugin B.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文