'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?
12 réponses
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.
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.
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.
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.
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.
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!.
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.
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
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.
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:
- sélectionner projet, clic droit, Propriétés
- sélectionnez Java Compiler et cochez la case "Activer les paramètres spécifiques au projet"
- maintenant faire en sorte que le niveau de conformité des compilateurs soit de 1,6 po 151940920"
- appliquer les changements
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.
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.