Bonjour à tous,
Que de problème avec cette classe.
Maintenant que que cette classe est vue par par mon projet, je ne peux pas l'utiliser. Voici le code que j'ai écrit
lorsque je l'execute j'obtiens les messages suivants dans la console
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 import org.eclipse.cdt.core.model.ICContainer; .... public void init(IWorkbench workbench, IStructuredSelection selection) { initialSelection = selection; Iterator iter = ((IStructuredSelection) selection).iterator(); while (iter.hasNext()) { Object item = iter.next(); System.out.println("Object class: " + item.getClass().toString()); System.out.println("item=" + item.toString()); if (item instanceof CContainer) { CContainer file = (CContainer) item; IPath v = file.getPath(); String fileName = v.toOSString(); System.out.println(fileName); } } }
Object class: class org.eclipse.cdt.internal.core.model.CContainer
item=WatchdogManager
Si je trace en mode debug, Item est bien du type CContainer et malgré cela , il n'entre jamais dans le if (item instanceof CContainer)
en supprimant ce if et en excutant directement la ligne:
CContainer file = (CContainer) item;
j'obtiens le message suivant:
je n'y comprend plus rien, car le jar qui contient CContainer est bien dans mon classPath , c'est défini comme cela
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 !ENTRY org.eclipse.jface 4 2 2006-11-29 16:30:26.243 !MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface". !STACK 0 java.lang.ClassCastException: org.eclipse.cdt.internal.core.model.CContainer at org.valeo.adl.autosar.configuration.newwizard.AutosarConfigurationFile.init(AutosarConfigurationFile.java:31) at org.eclipse.ui.internal.dialogs.WorkbenchWizardNode.getWizard(WorkbenchWizardNode.java:173) at org.eclipse.jface.wizard.WizardSelectionPage.getNextPage(WizardSelectionPage.java:104)
Bundle-ClassPath: AutosarConfiguration/,
lib/org.eclipse.cdt.core_3.1.1.200609270800.jar
merci d'avance pour vos idées
Cordialement
Partager