Когда именно загружаются файлы plugin.xml из зависимостей моего плагина?
-
02-07-2019 - |
Вопрос
У меня есть приложение eclipse rcp.В моем плагине A я использую сторонний плагин B.В плагине Б есть плагин.xml с некоторыми расширениями.В моем плагине A я добавил несколько расширений к расширениям, определенным в плагине B, и это работает.
Теперь я попробовал перезаписать некоторые значения в некоторых расширениях из B в плагине A.Теперь, когда я запускаю приложение, иногда оно использует старые значения (из плагина.xml в плагине B), иногда оно использует мои новые значения (из плагина A, plugin.xml).Он одинаков при одном выполнении приложения, но меняется от выполнения к выполнению.
Код, который получает эти значения, находится в плагине B, и я не хотел бы его менять.И выглядит так:
IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint("org.jbpm.gd.common.xmlMappings");
IExtension[] extensions = extensionPoint.getExtensions();
Как я могу гарантировать, что мои значения будут использоваться?
Я думаю, что нужно установить правильный порядок загрузки файлов плагина.xml, чтобы мой плагин.xml был последним, а мои значения перезаписывали бы их, но я не знаю, как это сделать.
Решение
Eclipse не дает никаких гарантий относительно порядка просмотра расширений.Кроме того, не существует гарантированного жизненного цикла при загрузке определенных плагинов.Если вам нужна гарантия, вам нужно реализовать ее вручную, и это, вероятно, потребует изменения плагина B.