J'ai un projet existant qui utilise des @Override
méthodes qui remplacent les méthodes d' interface , plutôt que des méthodes de superclasse. Je ne peux pas modifier cela dans le code, mais j'aimerais qu'Eclpse arrête de se plaindre de l'annotation, car je peux toujours construire avec Maven.
Comment procéder pour désactiver cette erreur?
Remarque: en raison des exigences du projet, je dois compiler pour Java 1.5.
java
eclipse
interface
annotations
syntax-error
Stefan Kendall
la source
la source
Réponses:
L'utilisation de l'
@Override
annotation sur les méthodes qui implémentent celles déclarées par une interface n'est valide qu'à partir de Java 6. C'est une erreur dans Java 5.Assurez-vous que vos projets IDE sont configurés pour utiliser un JRE Java 6 et que la "compatibilité source" est définie sur 1.6 ou plus:
N'oubliez pas qu'Eclipse peut remplacer ces paramètres globaux pour un projet spécifique, alors vérifiez-les également.
Mettre à jour:
L'erreur sous Java 5 ne concerne pas uniquement Eclipse; utiliser
javac
directement à partir de la ligne de commande vous donnera la même erreur. Ce n'est pas un code source Java 5 valide.Cependant, vous pouvez spécifier l'
-target 1.5
option pour JDK 6javac
, qui produira un fichier de classe de version Java 5 à partir du code source de Java 6.la source
Procédez comme suit:
Projet -> Propriétés -> compilateur java ->
la source
Vérifiez également si le projet a une facette. La version java peut y être remplacée.
la source
Les paramètres spécifiques au projet peuvent être activés. Sélectionnez votre projet
Project > Properties > Java Compiler
,uncheck
leEnable project specific settings
ou changezJdk 1.6
et au dessus sans oublier le correspondantJRE
.Incase il ne fonctionne pas, retirez votre projet Eclipse, supprimer
.settings folders
,.project
, les.classpath
fichiers.clean and build the project, import it back into eclipse and then reset your Java compiler. Clean and build your project
et éclipse. Ça a marché pour moila source
Vous pouvez modifier les paramètres du compilateur pour accepter la syntaxe Java 6 mais générer une sortie Java 5 (comme je me souviens). Et définissez la "Compatibilité des fichiers de classe générés" un peu plus bas si nécessaire par votre runtime. Mise à jour : j'ai vérifié Eclipse, mais il se plaint si je règle la compatibilité source sur 1.6 et la compatibilité de classe sur 1.5. Si 1.6 n'est pas autorisé, je commente généralement manuellement les annotations @Override incriminées dans la source (ce qui n'aide pas votre cas).
Update2: Si vous ne faites que la construction manuelle, vous pouvez écrire un petit programme qui copie le projet d'origine dans un nouveau, supprime les annotations @Override des sources java et vous appuyez simplement sur Nettoyer le projet dans Eclipse.
la source
Vous pouvez également essayer Retroweaver pour créer la version Java5 à partir des classes Java6.
la source
Utilisez Eclipse pour rechercher et remplacer (supprimer) toutes les instances de "@Override". Puis rajoutez les remplacements non liés à l'interface en utilisant "Clean Up".
Pas:
la source
J'ai compris votre problème, changez votre jdk de votre jdk à plus de 1.5
la source
En configurant que les projets IDE sont configurés pour utiliser un JRE Java 6 ou supérieur, cela ne supprime parfois pas l'erreur d'éclipse. Pour moi, un redémarrage de l'IDE Eclipe m'a aidé.
la source
Même après avoir changé le paramètre de conformité du compilateur à 1.6 ou 1.7 à partir de l'onglet Windows, puis prefernces, puis java, puis compilateur et en définissant la conformité du compilateur, j'avais toujours ce problème. L'idée est que nous devons aller dans le dossier du projet, faire un clic droit, Java et définir la conformité du compilateur sur 1.6 ou plus. Cela a fonctionné pour moi.
la source