web-dev-qa-db-fra.com

Eclipse: erreur de syntaxe, les types paramétrés ne sont valides que si le niveau source est 1.5

J'essaie d'utiliser le code suivant:

ArrayList<String>
Map<String, String>

Eclipse se plaint des deux: Erreur de syntaxe, les types paramétrés ne le sont que si le niveau source est 1.5.

J'utilise JDK 1.6, mais même si je vais au compilateur et que je passe la conformité à 1.5. Cela me donne toujours cette erreur. Une idée pourquoi?

39
Thang Pham

J'imagine que si vous exécutez Eclipse avec JDK 1.6, il est en fait configuré avec un jre par défaut différent.

Voir Window->preferences->Java->Installed JREs et assurez-vous que le JRE coché est 1.6.

Si le JRE par défaut est bien 1.6, il y a de fortes chances qu'il s'agisse d'un paramètre spécifique au projet. Vérifiez que le projet est configuré pour utiliser le bon JRE.

23
Omry Yadan

Cette solution de contournement est utile lorsque ce problème survient.

1) Définissez l’espace de travail JRE sur 1.5 (et appliquez/enregistrez). Les projets vont reconstruire.

2) Définissez l’espace de travail JRE sur 1.6 (et appliquez/enregistrez). Les projets vont reconstruire.

Toutes les erreurs ont ensuite disparu (du moins pour le moment).

41
Chris Blyseth

Il peut être résolu comme suit: 

  1. Accédez aux propriétés du projet.

  2. Puis 'Compilateur Java' -> Cochez la case ('Activer les paramètres spécifiques du projet') 

  3. Changez le niveau de conformité du compilateur en '5.0' et cliquez sur ok.

Faire reconstruire. Ce sera résolu.

Cochez également la case "Utiliser les paramètres de conformité par défaut".

39
VigneshKumar S

Oui. Indépendamment de ce que quelqu'un d'autre dit, Eclipse contient un ou plusieurs bogues qui entraînent parfois l'ignorance du paramètre d'espace de travail (conforme à la 1.6, par exemple). Même lorsque les paramètres par projet sont désactivés, les paramètres de l’espace de travail sont corrects (1.6), le JRE est correctement défini, il n’existe qu’un 1.6 JRE défini, etc. sont postés sur divers forums (comme souvent).

Nous rencontrons ce problème de manière irrégulière, mais souvent, et généralement lorsqu'il existe un problème non lié aux dépendances au moment de la construction ou à d'autres problèmes liés au projet. Cela semble faire partie de la catégorie générale des problèmes "incapable de faire reconnaître à Eclipse la réalité" que je répète toujours, à tort ou à raison, pour actualiser les problèmes liés aux métadonnées étendues d'Eclipse. Les métadonnées Eclipse sont une bénédiction et une malédiction. quand tout fonctionne bien, l'outil est extrêmement puissant et rapide. Mais quand il y a des problèmes, la mise en cache étendue rend la résolution des problèmes plus difficile - parfois beaucoup plus difficile - qu'avec d'autres outils.

19
Jeff

Cela fonctionne pour moi.

Dans Eclipse, accédez à Propriétés du projet -> Compilateur Java.

Puis changez pour Java supérieur à 1,5.

changer les paramètres de conformité du compilateur à 1.6 changer la compatibilité des fichiers Generated.class à 1.6 changer la compatibilité de la source à 1.6

Merci.  Screen Shot for changes

7
Isura Amarasinghe

Accédez aux propriétés du projet.

Puis 'Java Compiler' -> Cochez la case et "Activer les paramètres spécifiques au projet"

Décochez la case "Utiliser la conformité de l'environnement d'exécution 'OSGi/Minimum-1.2' sur Java"

Ensuite, définissez le niveau de conformité du compilateur sur «1.5», puis cliquez sur OK.

Reconstruisez-le et votre problème sera résolu.

6
Jonnabels Zerna

Cliquez avec le bouton droit de la souris sur votre projet et choisissez les propriétés dans la boîte de dialogue des propriétés, vérifiez les paramètres du compilateur Java, vous avez peut-être différents paramètres d'espace de travail.

5
stacker

Une seule réponse ne pouvait pas résoudre mon problème, alors j'ai utilisé les deux:

  • Premier clic droit sur l'onglet d'erreur dans les problèmes
  • cliquez sur solution rapide
  • d'accord
  • clic droit sur le projet
  • construire le chemin
  • configurer le chemin de construction
  • supprimer la bibliothèque JRE
  • ajouter une bibliothèque JRE

.... tada ... fait ... :)

2
Jyo the Whiff

J'ai rencontré le même problème avec la version Eclipse Indigo - même si la configuration du projet était correcte. La cause principale que je soupçonne est que l’espace de travail est défini dans un dossier distinct des dossiers source réels (comme indiqué par utilisateur748337) . Pour résoudre le problème, je devais activer l’option des paramètres spécifiques au projet (dans la préférence Porject), bien que ce n'était pas différent des paramètres de l'espace de travail.

2
JHC

Faites ce qui suit ..

Faites un clic droit sur votre projet -> sélectionnez les propriétés -----> sélectionnez les compilateurs Java

Tu verras cette fenêtre

Image de référence

Maintenant, cochez la case ---> Activer les paramètres spécifiques au projet.

Définissez maintenant le niveau de conformité du compilateur sur 1.6.

Appliquer alors Ok

maintenant nettoyez votre projet et vous êtes prêt à partir

1
Akshay

Veillez également à ne pas hériter des paramètres d'espace de travail dans vos projets pour les paramètres de compilateur/conformité Java. J'ai eu un projet qui a été importé dans Eclipse. Eclipse a généré le projet avec un JRE J2SE 1.4, un compilateur et des paramètres de conformité. 

Quand je suis entré et que j'ai mis à jour manuellement ces paramètres et que j'ai décoché la case "Activer les paramètres spécifiques au projet", je recevais toujours des erreurs de construction relatives à la conformité au niveau 1.5 (même si les paramètres de l'espace de travail étaient clairement 1,6). Ce n’est que lorsque j’ai revérifié la case "Activer les paramètres spécifiques au projet" et défini manuellement les niveaux de compilateur/conformité à 1,6, les erreurs ont disparu.

1
Steve

J'ai pu résoudre ce problème dans Eclipse Helios en cliquant avec le bouton droit de la souris sur le projet, en sélectionnant "Chemin de construction Java", "Ajouter une bibliothèque ...", "Bibliothèque système JRE", "JRE par défaut de l'espace de travail (jdk1.6.0_17)", puis enfin "Terminer".

1
Jeff

Il peut être résolu comme suit:

Accédez aux propriétés du projet.

Puis 'Compilateur Java' -> Cochez la case ('Activer les paramètres spécifiques du projet')

Changez le niveau de conformité du compilateur en '5.0' et cliquez sur ok

Cochez la case "Utiliser les paramètres de conformité par défaut"

1
Ujj

Je travaille actuellement avec Eclipse Luna. Et eu le même problème. Vous voudrez peut-être vérifier les paramètres de conformité du compilateur, allez à "Projet/Propriétés/Compilateur Java"

Le niveau de conformité du compilateur a été défini à 1.4, j'ai défini le mien à 1.5 (et je travaille avec le JDK 1.8); cela a fonctionné pour moi.

Et si vous deviez changer le réglage; il peut être utile d’aller dans "Fenêtre/Préférences/Java/Compilateur" et de vérifier que le niveau de conformité du compilateur est de 1,5 ou plus. Juste au cas où vous auriez besoin de faire un autre projet Java.

0
insane User

changez la version du compilateur en valeur inférieure et appliquez les modifications . La compilation échouera.

Maintenant, mettez à jour la version requise et appliquez les modifications, l'espace de travail sera reconstruit et le problème résolu.

0
user2881308