web-dev-qa-db-fra.com

Le type Java.util.Map $ Entry ne peut pas être résolu. Il est indirectement référencé à partir des fichiers .class requis

J'écris un simple programme Java sur Eclipse.

import Java.util.HashMap;

public class Demo {
    public static void main(String[] args) {
        HashMap<String, String> hash = new HashMap();
    }
}

Le programme ci-dessus génère les erreurs suivantes.

  1. Le projet n'a pas été construit car son chemin de génération est incomplet. Impossible de trouver le fichier de classe pour Java.util.Map $ Entry. Corrigez le chemin de génération, puis essayez de créer ce projet.
  2. Le type Java.util.Map $ Entry ne peut pas être résolu. Il est référencé indirectement à partir des fichiers .class requis.

J'ai cherché sur Internet presque partout, mais je n'ai pas pu corriger cela.

J'ai installé Java SE 8u5 (JDK) ( http://www.Oracle.com/technetwork/Java/javase/downloads/index.html?ssSourceSiteId=otnjp =)

  1. Windows -> Préférences -> JRE installés montre

a) jdk C:\Program Files\Java\jdk

  1. Projet -> Build Path -> Libraries shows

a) Bibliothèque système JRE (jdk)

b) Bibliothèque système JRE (jre8)

Je vous en prie, aidez-moi.

EDIT: Changer la version d'Eclipse de Helios à Juno a résolu le problème!

17
ashwin1907

J'ai vu des problèmes occasionnels avec Eclipse oubliant que les classes intégrées (y compris Object et String) existent. La façon dont je les ai résolus est de:

  • Dans le menu Projet, désactivez "Générer automatiquement"
  • Quittez et redémarrez Eclipse
  • Dans le menu Projet, choisissez "Nettoyer…" et nettoyer tous les projets
  • Activez "Build Automatically" et laissez-le reconstruire tout.

Cela semble faire oublier à Eclipse toutes les informations en cache incorrectes qu'il avait sur les classes disponibles.

5
Wyzard