Quando vengono caricati esattamente i file plugin.xml dalle dipendenze del mio plugin?
-
02-07-2019 - |
Domanda
I vahe eclipse rcp app. Nel mio plugin A utilizzo un plugin di terze parti B. Nel plugin B c'è plugin.xml con alcune estensioni. Nel mio plugin A ho aggiunto alcune estensioni alle estensioni definite nel plugin B, e funziona.
Ora ho provato a sovrascrivere alcuni valori in alcune estensioni da B nel plugin A. Ora, quando eseguo un'app, a volte usa vecchi valori (da plugin.xml nel plugin B), a volte usa i miei nuovi valori (dal plugin A plugin.xml). È coerente in un'esecuzione dell'app, ma cambia da un'esecuzione all'altra.
Il codice che ottiene questi valori è nel plugin B e non vorrei cambiarlo. E sembra così:
IExtensionPoint extensionPoint = Platform.getExtensionRegistry().getExtensionPoint("org.jbpm.gd.common.xmlMappings");
IExtension[] extensions = extensionPoint.getExtensions();
Come posso assicurarmi che i miei valori vengano utilizzati?
Penso che sia questione di impostare il giusto ordine di caricamento dei file plugin.xml, quindi il mio plugin.xml sarà l'ultimo e i miei valori sovrascriveranno i loro, ma non sono sicuro di come farlo.
Soluzione
Eclipse non fornisce alcuna garanzia circa l'ordine di visualizzazione delle estensioni. Inoltre, non esiste un ciclo di vita garantito per il caricamento di plug-in specifici. Se si desidera una garanzia, è necessario implementarla manualmente e ciò richiederà probabilmente una modifica del plug-in B.