web-dev-qa-db-fra.com

openjdk 1.7 dans Eclipse: l'opérateur n'est pas autorisé pour un niveau de source inférieur à 1.7

Eclipse me donne une erreur: 

'<>' operator is not allowed for source level below 1.7 

J'imagine que c'est parce qu'il n'utilise pas Java 1.7. Sauf que ça l'est. Au moins openjdk 1.7 (mon système d'exploitation est OpenSuse 12.3).

Je suis revenu de kepler à juno pour réduire certains décalages et essayer de résoudre ce problème également, mais en vain jusqu'à présent. 

Quelques choses que j'ai essayées: - le runtime par défaut pour Eclipse est opensdk 1.7 (le dit dans l'aide, à propos des détails de l'installation) - les propriétés du projet, Java build -> library. J'ai ajouté manuellement l'emplacement opensdk.

J'installerais la version Oracle, mais il n'y a que 1.6 disponible dans le référentiel opensuse. J'ai déjà essayé d'installer le rpm proposé par Oracle, qui ne s'est pas mis sur mon chemin et qui a tout gâché, alors j'ai enlevé ça à nouveau. 

Cela devrait fonctionner aussi avec openjdk non? Ou pensez-vous qu'il a un bug?

ps: junit n’a pas non plus été reconnu, j’ai lié manuellement le fichier jar. Peut-être que ce sont des informations pertinentes.

46
dorien

Dans les préférences de votre projet, vous devez également définir l'option --source du compilateur sur 1.7 et l'option --target sur 1.7. Il y a des boîtes d'option dédiées pour cela.

Cliquez avec le bouton droit sur le projet. Choisissez Propriétés. Choisissez Compilateur Java à gauche. Choisissez 1.7 pour le niveau de conformité Compiler. Si les 2 menus déroulants suivants ne sont pas 1.7, décochez Utiliser les paramètres de conformité par défaut et définissez-les sur 1.7.

78
Eric Jablow

faites un clic droit sur l'erreur, choisissez la solution rapide, puis sélectionnez changer JRE en version 1.7

27
ang

Si vous souhaitez utiliser la version ci-dessous, utilisez 

Map<String, Integer> map = new HashMap<String, Integer>();

au lieu de 

HashMap<String, Integer> map = new HashMap<>();
6
DilanG

clic droit sur Projet - Propriétés - Compilateur Java - Conformité du compilateur - niveau de base 1.7

2
Fred Donghwan Kim

Fenêtre-> Préférences-> Java-> Compilateur 

sélectionnez 1.7 et appuyez sur OK. 

Si vous construisez automatiquement, cela nécessitera une reconstruction complète.

0
Pete B.

J'ai eu le même problème, mais avec le - Niveau de conformité du compilateur - Compatibilité avec les fichiers .class générés - Compatibilité source Tous déjà définis à 1.7 . J'ai resélectionné 1.7 sur tous les 3, puis Eclipse l'a détectée, lui a demandé de reconstruire et de construire mon projet.

0
Eduard

Cliquez avec le bouton droit sur le projet. Choisissez Propriétés. Choisissez le compilateur Java à gauche. Choisissez 1.7 pour le niveau de conformité du compilateur. Si les 2 listes déroulantes ci-dessous ne sont pas 1.7, décochez Utiliser les paramètres de conformité par défaut et définissez-les sur 1.7.

0
rajlaxmi_jagdale

Si vous souhaitez conserver Java 1.6, recherchez et remplacez <> par une chaîne vide. Vous aurez les avertissements du compilateur mais les erreurs devraient disparaître.

0
David B.