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:
merci pour votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Partager