Bonjour, j'utilise eclipse RCP pour mon stage dans le but de créer une maquette en utilisant des vues d'une autre application RCP, malheureusement j'ai un problème que j'ai recréé à partir de l'exemple Navigator (http://dev.eclipse.org/viewcvs/index...n.html?view=co)
dans un premier temps je crée un client RCP avec une vue à partir du wizard d'eclipse (RCP application with a view), et je modifie la vue en :
ensuite je crée un plugin avec les jar contenant les classes utilisé par Navigator (wbnavigator.jar, navigator.jar, ...)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public class View extends Navigator implements IViewPart{ public static final String ID = "MyGui.view"; public View() { super(); } }
j'ajoute le plugin aux dépendances de l'application et lorsque je lance l'application j'ai l'erreur suivante à l'intérieur de la vue :
org.eclipse.ui.internal.misc.AssertionFailedException: assertion failed; The site for a view must be an IViewSite
at org.eclipse.ui.internal.misc.Assert.isTrue(Assert.java:106)
at org.eclipse.ui.part.ViewPart.checkSite(ViewPart.java:185)
at org.eclipse.ui.part.WorkbenchPart.setSite(WorkbenchPart.java:266)
at org.eclipse.ui.part.ViewPart.init(ViewPart.java:101)
at org.eclipse.ui.part.ViewPart.init(ViewPart.java:117)
at org.eclipse.ui.workbench.navigator.internal.Navigator.init(Unknown Source)
ce qui indique que dans la methode checkSite de la classe ViewPart:
reçoit un site n'étant pas une instance de IViewSite, or les méthodes init de la classe Navigator et ViewPart ont comme signatures :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 protected final void checkSite(IWorkbenchPartSite site) { super.checkSite(site); Assert.isTrue(site instanceof IViewSite, "The site for a view must be an IViewSite"); //$NON-NLS-1$ }
et ne font que remonter le site, qui est bien une intance de IViewSite puisque les méthodes sont bien appelées.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public void init(IViewSite site, IMemento memento); //classe Navigator et ViewPart public void init(IViewSite site); //classe ViewPart
de plus j'ai lu sur le forum que la gestion des sites était une mécanique interne à RCP (http://www.developpez.net/forums/arc.../t-228241.html)
j'ajoute que j'utilise eclipse 3.1 (car l'application que j'utilise pour ma maquette a été développé en 3.1) mais que l'erreur est la même en 3.2
je vous remercie d'avance pour vos réponses, c'est surement une petite connerie de ma part vue que je débute avec RCP depuis quelques jours.
n'hésitez à demandez des compléments si mon post n'est pas assez clair.
Partager