web-dev-qa-db-fra.com

Exception dans le fil "principal" Java.lang.UnsupportedClassVersionError: a (major.minor version 51.0 non prise en charge)

Duplicate possible:
version majeure majeure non supportée 51.

J'ai installé JDK7, un simple programme Word bonjour est compilé, mais lorsque je lance ceci, je suis l'exception suivante.

Exception in thread "main" Java.lang.UnsupportedClassVersionError: a (Unsupported major.minor version 51.0)
    at Java.lang.ClassLoader.defineClass0(Native Method)
    at Java.lang.ClassLoader.defineClass(Unknown Source)
    at Java.security.SecureClassLoader.defineClass(Unknown Source)
    at Java.net.URLClassLoader.defineClass(Unknown Source)
    at Java.net.URLClassLoader.access$100(Unknown Source)
    at Java.net.URLClassLoader$1.run(Unknown Source)
    at Java.security.AccessController.doPrivileged(Native Method)
    at Java.net.URLClassLoader.findClass(Unknown Source)
    at Java.lang.ClassLoader.loadClass(Unknown Source)
    at Sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at Java.lang.ClassLoader.loadClass(Unknown Source)
    at Java.lang.ClassLoader.loadClassInternal(Unknown Source)

J'ai vérifié Java -version à l'invite de commande, il indique Java version 1.4.2_03, mais lorsque j'ai essayé d'installer la nouvelle Java version de Java.com, il indique que je rencontre version recommandée Java 7.

86
Adnan

Copiez le contenu des paramètres PATH sur un bloc-notes et vérifiez si l'emplacement du 1.4.2 est antérieur à celui du 7. Si c'est le cas, supprimez le chemin d'accès à 1.4.2 dans le paramètre PATH et enregistrez-le.

Après avoir enregistré et appliqué les "variables d'environnement", fermez et rouvrez la ligne de commande. Dans XP, le chemin ne se reflète pas dans les programmes en cours d'exécution.

36
arunmur

Essayez Sudo update-alternatives --config Java à partir de la ligne de commande pour définir la version du JRE que vous souhaitez utiliser. Cela devrait résoudre le problème.

72
johnzachary

En supposant que vous utilisiez Eclipse, sur un MAC, vous pouvez:

  1. Lancer Eclipse.app
  2. Choisissez Eclipse -> Preferences
  3. Choisissez Java -> Installed JREs
  4. Cliquez sur le bouton Add...
  5. Choisissez MacOS X VM comme type de JRE. Appuyez sur Suivant.
  6. Dans le champ "JRE Home:", tapez /Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home
  7. Vous devriez voir les bibliothèques système dans la liste intitulée "Bibliothèques système JRE:"
  8. Donnez un nom à la JRE. Le nom recommandé est JDK 1.7. Cliquez sur Terminer.
  9. Cochez la case en regard de l'entrée JRE que vous venez de créer. Cela obligera Eclipse à l'utiliser comme JRE par défaut pour tous les nouveaux projets Java. Cliquez sur OK.
  10. Maintenant, créez un nouveau projet. Pour cette vérification, à partir du menu, sélectionnez File -> New -> Java Project.
  11. Dans la boîte de dialogue qui apparaît, entrez un nouveau nom pour votre projet. Pour cette vérification, tapez Test17Project
  12. Dans la section JRE de la boîte de dialogue, sélectionnez Use default JRE (currently JDK 1.7)
  13. Cliquez sur Terminer.

J'espère que cela t'aides

10
JAM

J'ai eu ce problème après l'installation de jdk7 à côté de Java 6. Les fichiers binaires ont été correctement mis à jour à l'aide de update-alternatives --config Java vers jdk7, mais la variable d'environnement $Java_HOME faisait toujours référence à l'ancien répertoire de Java 6.

9
liecno

On dirait que vous devez changer le chemin d'accès à votre exécutable Java pour qu'il corresponde à la version la plus récente. En gros, installer la dernière version de Java ne signifie pas nécessairement que votre ordinateur est configuré pour utiliser la version la plus récente. Vous n'avez pas mentionné les détails de la plateforme, c'est tout ce que je peux dire.

2
hvgotcodes