87 votes

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

Double Possible:
non pris en charge majeure .version mineure de 51,0

J'ai installé JDK7, un simple bonjour programme obtient de la compilation, mais lorsque je l'exécute j'ai 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 sur invite de commande, il montre la version Java 1.4.2_03 mais quand j'ai essayé d'installer la nouvelle version de java à partir de java.com il dit que je vais avoir recommandé de Java 7 version.

72voto

johnzachary Points 784

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.

36voto

arunmur Points 446

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. Sous XP, le chemin ne se reflète pas dans les programmes en cours d'exécution.

10voto

Jam Points 13872

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

  1. Lancement Eclipse.app
  2. Choisissez Eclipse -> Preferences
  3. Choisissez Java -> Installed JREs
  4. Cliquez sur l' Add... bouton
  5. Choisissez MacOS X VM que le JRE type. Appuyez Sur Suivant.
  6. Dans le "JRE à la Maison:" le champ, tapez /Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home
  7. Vous devriez voir le système des bibliothèques dans la liste intitulée "JRE système de bibliothèques:"
  8. Donner le JRE un nom. Le nom recommandé, est - JDK 1.7. Cliquez Sur Terminer.
  9. Cochez la case à côté de la JRE entrée que vous venez de créer. Ce sera la cause de l'Éclipse de l'utiliser comme valeur par défaut JRE 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, type Test17Project
  12. Dans la JRE de la section de la boîte de dialogue, sélectionnez Use default JRE (currently JDK 1.7)
  13. Cliquez Sur Terminer.

Espérons que cette aide

9voto

liecno Points 443

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

2voto

hvgotcodes Points 55375

On dirait que vous devez changer le chemin de 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 dernière version. Vous n'avez pas mentionné les détails de la plateforme, c'est tout ce que je peux dire.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X