Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 13 sur 13
  1. #1
    Membre du Club
    Profil pro Patrick
    Inscrit en
    juin 2010
    Messages
    419
    Détails du profil
    Informations personnelles :
    Nom : Patrick
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : juin 2010
    Messages : 419
    Points : 56
    Points
    56

    Par défaut Problème "cannot be a superinterface "

    Bonjour à tous,

    Je suis en train de suivre les tutoriels de Mickael Baron sur Eclipse RCP.

    Je suis actuellement à la leçon 3 (http://mbaron.developpez.com/eclipse/exercices/lesson3/). J'ai un problème à l'exercice 3 de la leçon (vous pouvez prendre le code source de la solution présente dans la leçon 4 (http://mbaron.developpez.com/eclipse/exercices/lesson4/).
    En effet j'ai une classe AttendeePropertySourceAdapter qui implémente une interface IPropertySource cependant j'ai un problème de type :
    The type IPropertySource cannot be a superinterface of AttendeePropertySourceAdapter; a superinterface must be an interface.
    Je ne vois pas d'où vient le problème. Il ne faut pas mettre extends puisqu'il s'agit d'une interface (de toute façon avec extends ça ne marche pas).

    Si quelqu'un a une idée, je suis preneur.

    Merci d'avance pour votre aide.

  2. #2
    Membre du Club
    Inscrit en
    juillet 2012
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : juillet 2012
    Messages : 32
    Points : 52
    Points
    52

    Par défaut

    The type IPropertySource cannot be a superinterface of AttendeePropertySourceAdapter
    pour moi ça signifie que AttendeePropertySourceAdapter a été déclaré comme interface alors que c'est une classe. Sinon ça peut être un marker mal nettoyé par eclipse : tu lances Project>Clean et tu selectionnes ton projet pour relancer un build propre

  3. #3
    Membre du Club
    Profil pro Patrick
    Inscrit en
    juin 2010
    Messages
    419
    Détails du profil
    Informations personnelles :
    Nom : Patrick
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : juin 2010
    Messages : 419
    Points : 56
    Points
    56

    Par défaut

    AttendeePropertySourceAdapter n'est pas déclaré comme une interface :
    Code :
    public class AttendeePropertySourceAdapter implements IPropertySource
    De plus même avec la solution de M.Baron j'ai le problème. Le clean ne change rien.

    Merci de ton aide en tout cas.

  4. #4
    Membre du Club
    Inscrit en
    juillet 2012
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : juillet 2012
    Messages : 32
    Points : 52
    Points
    52

    Par défaut

    Je viens d'importer la solution.
    La classe
    Code :
    AttendeePropertySourceAdapter
    ne pose pas de problème particulier.

    est ce que tu importes le bon ?

    moi j'ai ça :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    package eclipse.labs.jugercp.attendees.internal;
     
    import java.util.ArrayList;
    import java.util.List;
     
    import org.eclipse.ui.views.properties.IPropertyDescriptor;
    import org.eclipse.ui.views.properties.IPropertySource;
    import org.eclipse.ui.views.properties.PropertyDescriptor;
     
    import eclipse.labs.jugercp.attendees.IAttendee;

  5. #5
    Membre du Club
    Profil pro Patrick
    Inscrit en
    juin 2010
    Messages
    419
    Détails du profil
    Informations personnelles :
    Nom : Patrick
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : juin 2010
    Messages : 419
    Points : 56
    Points
    56

    Par défaut

    Oui j'ai la même chose. De plus Eclipse me signale des erreurs à chaque @Override et me demande de les enlever.

  6. #6
    Membre du Club
    Inscrit en
    juillet 2012
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : juillet 2012
    Messages : 32
    Points : 52
    Points
    52

    Par défaut

    C'est que tu ne compiles pas avec la bonne version de Java, tu peux régler ça :
    - soit de façon globale à Eclipse : Window > Preferences > Java > Compiler
    - soit sur ton projet via un clic droit sur tonProjet > Properties > Java compiler, puis en cochant Enable project specific settings.

    Il te faut mettre 1.6 minimum (tu auras peut-être besoin de mettre à jour Java si tu n'as pas de version assez récente).

    Ton problème vient d'une fonctionnalité non supportée par ton compilateur Java : @Override n'était permis que pour la redéfinition (extends d'une classe) d'une méthode et interdit pour l'implémentation d'une méthode (implements d'une interface).

    Ca corrigera probablement ton premier problème.

  7. #7
    Membre du Club
    Profil pro Patrick
    Inscrit en
    juin 2010
    Messages
    419
    Détails du profil
    Informations personnelles :
    Nom : Patrick
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : juin 2010
    Messages : 419
    Points : 56
    Points
    56

    Par défaut

    Merci de ton aide. Par contre j'ai bel et bien la version 1.6 pour le java compiler et dans mon projet Enable project specific settings est bien coché

  8. #8
    Membre du Club
    Inscrit en
    juillet 2012
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : juillet 2012
    Messages : 32
    Points : 52
    Points
    52

    Par défaut

    Je ne vois pas trop d'où ça peut venir alors.
    Tu peux faire une copie du contenu de ta vue problems? il y aura peut-être un détail qui nous permettra de t'aider.

  9. #9
    Membre du Club
    Profil pro Patrick
    Inscrit en
    juin 2010
    Messages
    419
    Détails du profil
    Informations personnelles :
    Nom : Patrick
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : juin 2010
    Messages : 419
    Points : 56
    Points
    56

    Par défaut

    D'accord, par contre comment on vide la vue problems ? Car j'ai 704 problem et 6598 warnings

  10. #10
    Membre du Club
    Inscrit en
    juillet 2012
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : juillet 2012
    Messages : 32
    Points : 52
    Points
    52

    Par défaut

    Tu peux fermer les projets qui ne sont pas liés à ton problème, sinon crée un projet à part et ferme tous les autres projets.

  11. #11
    Membre du Club
    Profil pro Patrick
    Inscrit en
    juin 2010
    Messages
    419
    Détails du profil
    Informations personnelles :
    Nom : Patrick
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : juin 2010
    Messages : 419
    Points : 56
    Points
    56

    Par défaut

    Voici la vue problems :

    http://www.hostingpics.net/viewer.ph...46problems.png

    Mais je ne pense pas que ça puisse t'aider

  12. #12
    Membre du Club
    Inscrit en
    juillet 2012
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : juillet 2012
    Messages : 32
    Points : 52
    Points
    52

    Par défaut

    Pour la vue problems je pensais que tu selectionnerais les lignes et que tu les copierais en fait. Mais pas grave.

    On dirait que IPropertySource ne référence pas la bonne interface.
    Si tu fais ctrl+shift+T et que tu cherches IPropertySource tu trouves bien 4 résultats :
    Code :
    1
    2
    3
    4
    IPropertySource
    IPropertySource2
    IPropertySourceExtension
    IPropertySourceProvider
    et chaque résultat est une interface?

    Sinon essaye de fermer tous tes projet et réimporte le projet avec la solution.

  13. #13
    Membre du Club
    Profil pro Patrick
    Inscrit en
    juin 2010
    Messages
    419
    Détails du profil
    Informations personnelles :
    Nom : Patrick
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : juin 2010
    Messages : 419
    Points : 56
    Points
    56

    Par défaut

    Alors moi j'obtiens :

    IPropertySource - org.eclipse.ui.views.properties - eclipse.labs.jugercp.attendees/src

    IPropertySource - org.eclipse.ui.views.properties - C:\eclipse\plugins\org.eclipse.ui.views_3.5.1.M20110202-0800.jar

    IPropertySource2

    IPropertySourceProvider
    Le premier est une classe et les autres sont des interfaces.

    EDIT : C'est bon c'est résolu... En effet j'avais un autre IPropertySource (une classe) qui ne servait pas. Je l'ai supprimé et ça marche maintenant. Merci beaucoup pour ton aide !

+ 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
  •