Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Nouveau Membre du Club
    Inscrit en
    décembre 2003
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : décembre 2003
    Messages : 69
    Points : 35
    Points
    35

    Par défaut [Plugin] Plugin chargé mais classes inaccessibles

    Bonjour à tous,

    Pour résumé: j'ai un problème d'accès à une classe, défini dans un plugin A, depuis un plugin B.

    Plus en détail:
    J'utilise Eclipse 3.7 SR2
    Je travaille sur une application RCP tierce. J'ai un vieux pluginA que je dois mettre à jour avec la nouvelle version de cette application RCP.
    Ce plugin contient un ensemble de sample pour customiser notre pluginB: notre pluginB contient plein de classes abstraites.
    PluginA (que je dois mettre à jour) contient donc une liste de classes qui héritent des classes abstraites du pluginB

    Je vais prendre un exemple (je donne volontairement des noms bidons): pluginA contient une classe MyOwnButtonStyle, défini dans le package com.mycusto.buttons.sample1.
    MyOwnButtonStyle hérite de com.pluginB.AbstractButton

    Dans le manifest du pluginA, on a donc rajouté com.pluginB comme Require-Bundle + Eclipse-RegisterBuddy:com.pluginB pour éviter une cyclité dans les plugins.

    Lorsque je lance mon appli RCP via le debug Eclipse, je vois bien pluginA, pluginB chargés dans "Installation Details"

    Mais lorsque pluginB essaye d'instancier com.mycusto.buttons.sample1.MyOwnButtonStyle j'ai un gros java.lang.ClassNotFoundException.

    Je ne passe jamais dans l'activator du pluginA.

    J'ai essayé de créer un nouveau plugin via les sample Eclipse (Hello World Command) et c'est lorsque je clique sur l'action que je passe dans l'activator.
    J'ai testé en changeant l'option LazyStart:true/false

    Qu'est-ce que j'ai raté?

    Voici mon manifest si c'est plus clair comme ça:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Manifest-Version: 1.0
    Bundle-ManifestVersion: 2
    Bundle-Name: SMCustom Plug-in
    Bundle-SymbolicName: SMCustom;singleton:=true
    Bundle-Version: 1.0.0
    Bundle-Activator: com.mycusto.plugin.Activator
    Bundle-Localization: plugin
    Require-Bundle: org.eclipse.ui,
     org.eclipse.core.runtime,
     com.pluginB
    Eclipse-LazyStart: true
    Export-Package: com.mycusto.actions.sample1,
     com.mycusto.actions.sample2
    Eclipse-RegisterBuddy: com.pluginB
    merci pour votre aide

  2. #2
    Modérateur
    Avatar de Gueritarish
    Homme Profil pro Marc
    Développeur Java
    Inscrit en
    mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Nom : Homme Marc
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2007
    Messages : 1 800
    Points : 3 776
    Points
    3 776

    Par défaut

    Salut,

    As-tu spécifié Eclipse-BuddyPolicy: registered dans ton plug-in B?

    Voilà, à+
    Gueritarish
    Pas de questions technique par MP, les forums sont là pour ça.

  3. #3
    Nouveau Membre du Club
    Inscrit en
    décembre 2003
    Messages
    69
    Détails du profil
    Informations forums :
    Inscription : décembre 2003
    Messages : 69
    Points : 35
    Points
    35

    Par défaut

    ça fonctionne parfaitement maintenant, merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •