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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top