Question

Si j'ai le plugin commun, avec le plugin A et B sous forme de plugins séparés / produits, à la fois en fonction du plug-in commun.

dans le plugin commun, j'Externaliser les cordes dans plugin.xml, cela me donne% bundle-fournisseur = "My Name Company".

Dans les plugins en aval A et B, puis-je utiliser la propriété bundle-fournisseur commun pour le fournisseur. J'ai essayé préfixer l'ID du plugin commun, mais cela n'a pas fonctionné. Si cela est possible?

Était-ce utile?

La solution

Pour autant que je me rappelle les plugin.properties ne sont pas disponibles en dehors du plug-in. Cependant, vous pouvez définir un type de propriétés (extension org.eclipse.osgi.util.NLS) pour charger automagiquement le fichier de propriétés et de les exposer à d'autres plug-ins.

Chaque statique propriété String dans le type sera traité à partir du fichier de propriété (s) selon les règles NLS et disponible.

Voici un exemple trivial qui va charger le fichier de propriétés et remplir les variables statiques some_property et some_other_property lorsque la classe est chargée.

public class ContentMessages extends NLS {

    private static final String BUNDLE_NAME = 
        "name.seller.rich.content.messages"; //$NON-NLS-1$

    public static String some_property;
    public static String some_other_property;

    static {
        // load message values from bundle file
        reloadMessages();
    }

    public static void reloadMessages() {
        NLS.initializeMessages(BUNDLE_NAME, ContentMessages.class);
    }
}

Autres conseils

Grande réponse riche. La seule chose que je voudrais ajouter est de faire en sorte que vous exposez le paquet / classe dans le manifeste du faisceau pour assurer d'autres paquets peuvent y accéder.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top