it-swarm.com.de

Ausnahme im Thread "main" Java.lang.UnsupportedClassVersionError: a (Nicht unterstützte major.minor-Version 51.0)

Mögliches Duplikat:
nicht unterstützte Hauptversion .minor 51.

Ich habe JDK7 installiert, ein einfaches Hallo-Word-Programm wird kompiliert, aber als ich es ausführe, tritt folgende Ausnahme auf.

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)

Ich überprüfte Java -version Auf der Eingabeaufforderung wird Java Version 1.4.2_03 angezeigt, aber als ich versuchte, eine neue Java Version von Java.com zu installieren, heißt es, dass ich empfohlen haben Java 7 Version.

86
Adnan

Kopieren Sie den Inhalt der PATH-Einstellungen auf einen Notizblock und überprüfen Sie, ob der Speicherort für 1.4.2 vor dem für 7. Wenn dies der Fall ist, entfernen Sie den Pfad zu 1.4.2 in der PATH-Einstellung und speichern Sie ihn.

Nach dem Speichern und Anwenden von "Umgebungsvariablen" schließen Sie die cmd-Zeile und öffnen Sie sie erneut. In XP) spiegelt sich der Pfad nicht in bereits laufenden Programmen wider.

36
arunmur

Versuchen Sudo update-alternatives --config Java über die Befehlszeile, um die Version der JRE festzulegen, die Sie verwenden möchten. Dies sollte das Problem beheben.

72
johnzachary

Angenommen, Sie verwenden Eclipse. Auf einem MAC können Sie:

  1. Starten Sie Eclipse.app
  2. Wähle Eclipse -> Preferences
  3. Wähle Java -> Installed JREs
  4. Klicken Sie auf die Schaltfläche Add...
  5. Wählen Sie als JRE-Typ MacOS X VM. Klicken Sie auf Weiter.
  6. Geben Sie im Feld "JRE Home:" /Library/Java/JavaVirtualMachines/1.7.0.jdk/Contents/Home Ein.
  7. Sie sollten die Systembibliotheken in der Liste mit dem Titel "JRE-Systembibliotheken:" sehen.
  8. Geben Sie der JRE einen Namen. Der empfohlene Name ist JDK 1.7. Klicken Sie auf Fertig stellen.
  9. Aktivieren Sie das Kontrollkästchen neben dem soeben erstellten JRE-Eintrag. Dies bewirkt, dass Eclipse es als Standard-JRE für alle neuen Java Projekte verwendet. Klicken Sie auf OK.
  10. Erstellen Sie nun ein neues Projekt. Wählen Sie für diese Überprüfung im Menü File -> New -> Java Project.
  11. Geben Sie im angezeigten Dialogfeld einen neuen Namen für Ihr Projekt ein. Geben Sie für diese Überprüfung Test17Project ein
  12. Wählen Sie im JRE-Abschnitt des Dialogfelds Use default JRE (currently JDK 1.7)
  13. Klicken Sie auf Fertig stellen.

Hoffe das hilft

10
JAM

Ich hatte dieses Problem, nachdem ich jdk7 neben Java 6 installiert hatte. Die Binärdateien wurden korrekt mit update-alternatives --config Java Auf jdk7 aktualisiert, aber die Umgebungsvariable $Java_HOME Zeigte immer noch auf das alte Verzeichnis von Java 6.

9
liecno

Klingt so, als müssten Sie den Pfad zu Ihrer ausführbaren Datei Java ändern, damit sie mit der neuesten Version übereinstimmt. Grundsätzlich bedeutet die Installation der neuesten Version Java) nicht unbedingt, dass Ihr Computer für die Verwendung der neuesten Version konfiguriert ist. Sie haben keine Plattformdetails angegeben, das ist also alles, was ich sagen kann.

2
hvgotcodes