'Doit remplacer une erreur de la méthode Superclass' après importation D'un projet dans Eclipse

chaque fois que je dois réimporter mes projets dans Eclipse (si J'ai réinstallé Eclipse, ou changé l'emplacement des projets), presque toutes de mes méthodes dépassées ne sont pas formatées correctement, provoquant l'erreur The method must override a superclass method .

il peut être intéressant de mentionner que c'est avec les projets Android - pour quelque raison que ce soit, les valeurs des arguments de méthode ne sont pas toujours peuplées, donc je dois les peupler manuellement moi-même. Par exemple:

list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

    //These arguments have their correct names
    public void onCreateContextMenu(ContextMenu menu, View v, 
                                    ContextMenuInfo menuInfo) {                 
    }

});

sera initialement peuplé comme ceci:

list.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {

    //This methods arguments were not automatically provided    
    public void onCreateContextMenu(ContextMenu arg1, View arg2,
                                    ContextMenuInfo arg3) {
    }

});

la chose étrange est que, si je supprime mon code, et que Eclipse recrée automatiquement la méthode, il utilise les mêmes noms d'arguments que j'ai déjà eu, donc je ne sais pas vraiment où est le problème, autre que cela auto-formatant la méthode pour moi.

cela devient assez pénible de devoir recréer manuellement toutes mes méthodes dépassées à la main. Si quelqu'un peut expliquer pourquoi cela se produit ou comment résoudre le problème .. Je serais très heureux.

peut-être est-ce dû à la façon dont je formate les méthodes, qui sont à l'intérieur d'un argument d'une autre méthode?

1138
demandé sur bjb568 2009-11-05 06:17:53
la source

12 ответов

Eclipse est en défaut à Java 1.5 et vous avez des classes implémentant des méthodes d'interface (qui en Java 1.6 peut être annoté avec @Override , mais en Java 1.5 ne peut être appliqué qu'à des méthodes dépassant une méthode superclass).

allez à vos préférences projet/IDE et définissez le niveau du compilateur Java à 1.6 et assurez-vous également de sélectionner JRE 1.6 pour exécuter votre programme à partir D'Eclipse.

1387
répondu alphazero 2017-09-06 14:44:38
la source

avec Eclipse Galileo vous allez dans le menu Eclipse -> Préférences, puis sélectionnez Java et Compiler dans la boîte de dialogue.

maintenant, il peut encore montrer le niveau de conformité du compilateur à 1,6, mais vous voyez toujours ce problème. Donc maintenant, Sélectionnez le lien " configurer les paramètres spécifiques au projet... " et là vous verrez le projet est fixée à 1,5, maintenant changer en 1.6. Vous devrez le faire pour tous les projets touchés.

cette interface byzantine menu / dialogue est typique de la mauvaise conception de L'interface utilisateur D'Eclipse.

302
répondu Paul 2010-09-08 07:48:49
la source

au cas où cela arrive à quelqu'un d'autre qui a essayé la méthode d'alphazero et de Paul et qui n'a toujours pas fonctionné.

pour moi, eclipse en quelque sorte "cache" les erreurs de compilation même après avoir fait un projet > Clean...

j'ai dû décocher projet > construire automatiquement, puis faire un projet > Nettoyer, puis construire à nouveau.

aussi, en cas de doute, essayez de redémarrer Eclipse . Cela peut réparer beaucoup de maladroit, inexplicable erreurs.

74
répondu Rollin_s 2013-02-23 00:37:02
la source

pour résoudre ce problème, allez à Propriétés de votre projet -> compilateur Java -> choisir le niveau de conformité du compilateur à 1.6-> appliquer.

38
répondu false9striker 2012-07-21 19:47:48
la source

la réponse de Paul a travaillé pour moi en partie. J'ai toujours eu une erreur alors. Donc, en plus de cela, j'ai aussi dû aller aux propriétés-> facettes du projet et mettre la version Java de 1.5 à 1.6.

peut-être que ça aide.

18
répondu tareq 2014-02-05 20:25:08
la source

les gars dans mon cas, aucune des solutions ci-dessus n'a fonctionné.

j'ai dû supprimer les fichiers dans L'espace de travail du projet:

  • .projet
  • .classepath

et le dossier:

  • .paramètres

puis j'ai copié ceux d'un projet similaire qui fonctionnait avant. Cela a réussi à réparer mon projet cassé.

bien sûr, n'utilisez pas cette méthode avant d'essayer les alternatives précédentes!.

11
répondu will824 2011-12-29 00:31:27
la source

si rien de ce qui précède n'aide, assurez-vous d'avoir un " environnement D'exécution "sélectionné", et Non un" JRE alternatif".

se trouve sous:

Project - > Build Path - > Libraries

sélectionnez le JRE System Library et cliquez sur Edit... .

Si "Autre JRE ..."est sélectionné, le changer pour un montage "Environnement d'exécution" comme JavaSE-1.8 (jre1.8.0_60) . Aucune idée pourquoi, mais on va le résoudre.

9
répondu Blauhirn 2015-09-05 00:44:13
la source

C'est la deuxième fois que je rencontre ce problème. d'après la recommandation de l'alphazero, ça a marché pour la première fois. mais dans la deuxième fois j'ai mis à 1.6 il ne fonctionne pas comme 'CACHE' cette erreur après nettoyer et reconstruire.

essayez d'éteindre 'Build Automatically' comme Rollin_s a dit -> erreur toujours ici!

donc j'ai supprimé le projet de problème (déjà défini à 1.6) de L'Explorateur de paquets et l'importer à nouveau -> il démarrer une reconstruction et pas d'erreur ce time

Espérons que cela aide quelqu'un

8
répondu ob.yann 2012-12-14 10:20:19
la source

Go pour windows-> préférences -> Java -> compiler -> Sélectionnez compilateur niveau de conformité à 1,6(la version que vous voulez)-> Appliquer-> ok. maintenant son travail.

7
répondu madhu 2014-12-08 12:46:00
la source

fixer doit remplacer une erreur de méthode de la classe super n'est pas difficile, vous avez juste besoin de changer la version Java source à 1.6 parce que de Java 1.6 @Override annotation peut être utilisé avec la méthode de l'interface. Afin de changer la version source à 1.6 suivre les étapes ci-dessous:

  1. sélectionner projet, clic droit, Propriétés
  2. sélectionnez Java Compiler et cochez la case "Activer les paramètres spécifiques au projet"
  3. maintenant faire en sorte que le niveau de conformité des compilateurs soit de 1,6 po 151940920"
  4. appliquer les changements
7
répondu Sunil 2015-04-21 09:23:58
la source

dans mon cas ce problème est arrivé quand j'ai importé un projet Maven dans Eclipse. Pour résoudre ce problème, j'ai ajouté ce qui suit dans pom.xml :

<properties>
   ...
   <maven.compiler.source>1.8</maven.compiler.source>
   <maven.compiler.target>1.8</maven.compiler.target>
</properties>

puis dans le menu contextuel du projet, allez à" Maven -> Update Project ...", et appuyez sur OK.

C'est ça. Espérons que cette aide.

4
répondu mljrg 2017-02-22 21:30:40
la source

dans mon cas, aucune des solutions ci-dessus ne fonctionne. Je dois vérifier mon code source dans un autre dossier. À partir de eclipse, sélectionnez Fichier > Switch workSpaces > Other... puis importez le code dans les nouveaux espaces de travail. ça marche après ça.

3
répondu Hắc Huyền Minh 2013-06-16 08:32:40
la source

Autres questions sur java android eclipse superclass override