J'ai un projet existant qui utilise @Override
sur des méthodes qui surchargent les méthodes interface, plutôt que des méthodes de superclasse. Je ne peux pas modifier cela dans le code, mais je voudrais qu'Eclpse cesse de se plaindre de l'annotation, car je peux toujours construire avec Maven.
Comment pourrais-je m'y prendre pour désactiver cette erreur?
Remarque: En raison des exigences du projet, je dois compiler pour Java 1.5.
L'utilisation de l'annotation @Override
sur des méthodes qui implémentent celles déclarées par une interface est uniquement valide à 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 une version supérieure. Ouvrez la boîte de dialogue Fenêtre> Préférences et accédez à Java> Compilateur. Là, vous pouvez définir le "Niveau de conformité du compilateur" sur 1.6.
N'oubliez pas qu'Eclipse peut remplacer ces paramètres globaux pour un projet spécifique, vérifiez-les également.
Mettre à jour:
L'erreur sous Java 5 ne concerne pas uniquement Eclipse; Si vous utilisez javac
directement à partir de la ligne de commande, vous obtiendrez la même erreur. Ce n'est pas un code source Java 5 valide.
Toutefois, vous pouvez spécifier l'option -target 1.5
dans la variable javac
du JDK 6, qui générera un fichier de classe de version Java 5 à partir du code source Java 6.
Projet-> Propriétés-> Compilateur Java->
Activer les paramètres spécifiques au projet -yes Conformité du compilateur - 1.6 Fichiers de classe générés et compatibilité de la source - 1.5
Vérifiez également si le projet a une facette. La version Java peut être remplacée ici.
Les paramètres spécifiques du projet peuvent être activés. Sélectionnez votre projet Project > Properties > Java Compiler
, uncheck
le Enable project specific settings
ou changez Jdk 1.6
et plus en gardant la JRE
correspondante.
Si cela ne fonctionne pas, supprimez votre projet d’Eclipse, supprimez les fichiers .settings folders
, .project
, .classpath
. clean and build the project, import it back into Eclipse and then reset your Java compiler. Clean and build your project
et Eclipse. Ça a fonctionné pour moi
Vous pouvez modifier les paramètres du compilateur pour accepter la syntaxe Java 6 mais générer une sortie Java 5 (si je me souviens bien). Et définissez la "Compatibilité des fichiers de classe générés" un peu plus bas si votre runtime le nécessite . Update : J'ai vérifié Eclipse, mais je me plains si je règle la compatibilité de source à 1.6 et la compatibilité de classe à 1.5. Si 1.6 n'est pas autorisé, je commente généralement manuellement les annotations @Override incriminées dans le source (ce qui n'aide pas votre cas).
Update2: Si vous ne construisez que manuellement, vous pouvez écrire un petit programme qui copie le projet original dans un nouveau projet, supprime les annotations @Override des sources Java et vous cliquez simplement sur Nettoyer le projet dans Eclipse.
Vous pouvez également essayer Retro Weaver pour créer la version Java à partir de classes Java 6.
Utilisez Eclipse pour rechercher et remplacer (supprimer) toutes les instances de "@Override". Ajoutez ensuite les modifications non liées à l'interface à l'aide de "Nettoyer".
Pas:
En configurant le fait que les projets IDE sont configurés pour utiliser un JRE Java 6 ou version ultérieure, il est parfois impossible de supprimer l'erreur Eclipse. Pour moi, un restart de Eclipe IDE m'a aidé.
Même après avoir modifié le paramètre de conformité du compilateur sur 1.6 ou 1.7, à partir de onglet Windows, puis prefernces, puis Java, puis le compilateur et la définition du fichier conformité du compilateur, j'avais toujours ce problème. L'idée est que nous besoin d'aller dans le dossier du projet, clic droit, Java et définir le compilateur conformité à 1,6 ou plus. Cela a fonctionné pour moi.
Je comprends votre problème, changez votre jdk de votre jdk à plus de 1,5