Eclipse ne connaît pas Java

Bonjour,

Je découvre Debian mais je suis vite bloqué par méconnaissance de ce système. Pour le moment, je suis juste capable de lancer une console, naviguer ou éditer un fichier avec mc. Je n’ai rien trouvé dans les 247 messages concernant Eclipse.

Configuration :
portable neuf, 4 processeurs, 16 Go de mémoire
Linux 3.2.0-4-amd64
KDE SC 4.8.4

Problème : Eclipse ne reconnaît aucune classe java et souligne donc toutes les instructions java

Message d’erreur :
Exception in thread “main” java.lang.UnsupportedClassVersionError
… Unsupported major.minor version 51.0
… Could not find the main class : nom de la classe

A l’aide de synaptic, j’ai installé le paquet open jdk 1.7 en plus du 1.6 déjà présent.

J’ai installé Eclipse pour Java de deux manières :
avec le gestionnaire de paquets (version 3.8 indigo)
manuellement (version 4.1 kepler)

Les deux réagissent de la même manière : aucune classe java n’est reconnue et se trouve donc soulignée en rouge dans l’éditeur.

Le paramétrage par défaut d’Eclipse est conforme à ce qui est décrit dans l’aide intégrée (compliance compilateur 1.7 …)

Je soupçonne l’absence de définition de la variable JAVA_HOME. Après recherches sur internet et dans mon ouvrage sur linux, j’ai trouvé qu’il me fallait définir cette variable dans un le fichier /etc/profile. A ce moment, la commande

echo $JAVA_HOME

ne donnait effectivement rien.

Ne pouvant enregistrer profile avec Kwrite bien que les droits soient -rw- (?), je me suis connecté sous root, l’ai édité sous mc et j’ai tapé (source internet) :

export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java
export PATH=$PATH:/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin

Après redémarrage, cela ne change rien au problème sous Eclipse.
En me connectant en tant qu’utilisateur, la commande echo $JAVA_HOME donne bien

/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java

Maintenant je sèche …

Merci d’avance

$JAVA_HOME c’est le dossier contenant Java pas le lien cible du programme.
Donc enlève ton /java à la fin.
J’utilise Eclipse sur ma Debian, et cette variable n’est pas définie (je crois qu’elle est de toute façon très recommandée surtout lors d’un “build”)

J’ai modifié les paramètres définis dans JAVA_HOME comme vous l’avez conseillé (export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/) mais cela n’a malheureusement pas résolu mon problème. J’ai tenté d’autres combinaisons mais toujours sans succès.

J’ai fini par trouver la cause en revérifiant les préférences d’Eclipse :

Dans la fenêtre Préférences/Java/Compiler, j’avais sélectionné “Compiler compliance level 1.6” malgré un avertissement (peu visible au bas de la fenêtre) signalant une incompatibilité.
Dans la rubrique “Installed JREs”, java-7-openjdk était sélectionné au lieu de java-6-openjdk.

Le problème s’est réglé en rétablissant la correspondance Compiler 1.7 <-> java-7-openjdk.

J’ai supprimé les définitions
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/java
export PATH=$PATH:/usr/lib/jvm/java-1.7.0-openjdk-amd64/bin
dans le fichier /etc/profile et cela n’empêche pas Eclipse de fonctionner.

Merci pour votre réponse et pardon pour ces problèmes de débutant.

A bientôt

Cordialement,

Mike