it-swarm.com.de

Nicht unterstützte major.minor-Version 52.0

Bilder:

Command Prompt showing versions Eingabeaufforderung mit Versionen

Picture of error Bild des Fehlers

Hallo.Java

import Java.applet.Applet;
import Java.awt.*;

public class Hello extends Applet {

    // Java applet to draw "Hello World"
    public void Paint (Graphics page) {
        page.drawString ("Hello World!", 50, 50);
    }
}

Hallo.html

<HTML>
    <HEAD>
        <TITLE>HelloWorld Applet</TITLE>
    </HEAD>

    <BODY>
        <APPLET CODE="Hello.class" WIDTH=300 HEIGHT=150>
        </APPLET>
    </BODY>
</HTML>

Error

Hello : Unsupported major.minor version 52.0

Woran kann das liegen?

588
user3397452

Das Problem liegt an der Nichtübereinstimmung von Java Versionen. Unter Bezugnahme auf Wikipedia Java Class Reference :

  • Java SE 12 = 56 (0x38 hex)
  • Java SE 11 = 55 (0x37 hex)
  • Java SE 10 = 54
  • Java SE 9 = 53
  • Java SE 8 = 52
  • Java SE 7 = 51
  • Java SE 6.0 = 50
  • Java SE 5.0 = 49
  • JDK 1,4 = 48
  • JDK 1,3 = 47
  • JDK 1,2 = 46
  • JDK 1,1 = 45

Dies sind die zugewiesenen Hauptnummern. Der Fehler in Bezug auf die nicht unterstützte major.minor-Version liegt darin, dass Sie zur Kompilierungszeitein höheres JDK und ein niedrigeres JDK zur Laufzeit verwenden.

Daher liegt der Fehler "major.minor version 52.0" möglicherweise daran, dass die JAR in JDK 1.8 kompiliert wurde, Sie jedoch versuchen, sie in einer JDK 1.7-Umgebung auszuführen. Die gemeldete Nummer ist die erforderliche Nummer, nicht die Nummer, die Sie verwenden. Um dies zu lösen, ist es immer besser, wenn JDK und JRE auf dieselbe Version verweisen.

In IntelliJ IDEA

  1. Gehen Sie zu Maven-Einstellungen Maven Importieren . Stellen Sie das JDK für den Import auf 1.8 ein.
  2. Gehe zu Maven-Einstellungen Maven Runner . Setzen Sie die JRE auf 1.8.
  3. Gehen Sie zum Menü Datei * → Projektstruktur SDKs . Stellen Sie sicher, dass der JDK-Ausgangspfad auf 1,8 festgelegt ist.

Starten Sie IntelliJ IDEA neu.

Ein weiterer Ansatz, der hilfreich sein könnte, besteht darin, IntelliJIDEA anzuweisen, mit welcher JDK-Version gestartet werden soll.

Gehen Sie zu:/ Applications/IntelliJ\IDEA\15\CE.app/Contents/Info.plist und ersetzen Sie die JVM-Version durch:

<key>JVMVersion</key>
<string>1.8*</string>
572
Aks

Die intelligente Möglichkeit, dieses Problem zu beheben, besteht darin, mit dem neuesten SDK zu kompilieren und beim Kompilieren die Cross-Compilation-Optionen zu verwenden. Um die Optionen völlig korrekt zu verwenden , muss der rt.jar eines JRE ( nicht JDK ) der Zielversion.

Angesichts der Art dieses Applets könnte es zur Verwendung mit Java 1.1 kompiliert werden.

88
Andrew Thompson

Sie müssen die Kompatibilitätsstufe Ihres Compilers in Ihrer IDE auf 1.7 zurücksetzen.

Dies können Sie in den Einstellungen Ihrer IDE vornehmen. Gehen Sie beispielsweise in Eclipse zum Menü WindowsEinstellungen, wählen Sie Java aus und erweitern Sie es. Wählen Sie dann Compiler und ändern Sie die Konformitätsstufe auf 1.7. Ich bin sicher, dass dies von dort aus funktionieren wird.

63
olammy

Sie müssen Ihre Anwendung mit derselben Java-Version ausführen und kompilieren.

Wenn Sie Eclipse verwenden, sollten Sie zwei Dinge tun:

  1. Klicken Sie in Eclipse auf "Fenster> Einstellungen" und im Fenster links unter "Java" , klicken Sie auf "Installierte JREs" , klicken Sie auf "Hinzufügen ..." und navigieren Sie zu dem Ordner, der das JDK enthält.

  2. Klicken Sie mit der rechten Maustaste auf Ihr Projekt und klicken Sie auf "Eigenschaften" . Klicken Sie im folgenden Fenster auf der linken Seite auf "Java Compiler" und deaktivieren Sie "Kompatibilität aus Ausführungsumgebung auf dem Java Build Path" , so können Sie in der Liste "Compiler compilance level" die gleiche Version auswählen, die Sie im vorherigen Schritt eingestellt haben.

51
ZAIRI Oussama

Sie müssen Ihre Java Version auf Java 8 aktualisieren.

Laden Sie das neueste Java Archiv herunter

Laden Sie die neueste Version von Java SE Development Kit 8 von der offiziellen Download-Seite herunter, oder verwenden Sie die folgenden Befehle, um von der Shell herunterzuladen.

Für 64 Bit

 # cd /opt/

 # wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.Oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.Oracle.com/otn-pub/Java/jdk/8u51-b16/jdk-8u51-linux-x64.tar.gz"

 # tar xzf jdk-8u51-linux-x64.tar.gz

Für 32 Bit

 # cd /opt/

 # wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.Oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.Oracle.com/otn-pub/Java/jdk/8u51-b16/jdk-8u51-linux-i586.tar.gz"

  # tar xzf jdk-8u51-linux-i586.tar.gz

Hinweis: Wenn der obige Befehl wget bei Ihnen nicht funktioniert, sehen Sie sich dieses Beispielvideo an, um das Quellarchiv Java über das Terminal herunterzuladen.

Installieren Sie Java mit Alternativen

Verwenden Sie nach dem Extrahieren der Archivdatei den Befehl alternatives, um sie zu installieren. Der Befehl alternatives ist im Paket chkconfig verfügbar.

 # cd /opt/jdk1.8.0_51/

 # alternatives --install /usr/bin/Java java /opt/jdk1.8.0_51/bin/Java 2

 # alternatives --config Java

Zu diesem Zeitpunkt wurde Java 8 erfolgreich auf Ihrem System installiert. Wir empfehlen außerdem, den Pfad für die Befehle javac und jar mit Hilfe von Alternativen einzurichten:

 # alternatives --install /usr/bin/jar jar /opt/jdk1.8.0_51/bin/jar 2

 # alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_51/bin/javac 2

 # alternatives --set jar /opt/jdk1.8.0_51/bin/jar

 # alternatives --set javac /opt/jdk1.8.0_51/bin/javac

Überprüfen Sie die installierte Java Version

Überprüfen Sie die installierte Version von Java mit dem folgenden Befehl.

[email protected] ~# Java -version

Java version "1.8.0_51"
Java(TM) SE Runtime Environment (build 1.8.0_51-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)

Umgebungsvariablen konfigurieren

Die meisten Java-basierten Anwendungen arbeiten mit Umgebungsvariablen. Setzen Sie die Umgebungsvariablen Java mit den folgenden Befehlen:

Richten Sie die Java_HOME-Variable ein

# export Java_HOME=/opt/jdk1.8.0_51
Setup JRE_HOME Variable

# export JRE_HOME=$Java_HOME/jre
Setup PATH Variable

# export PATH=$Java_HOME/bin:$JRE_HOME/bin:$PATH

Beachten Sie, dass durch die Änderung der PATH-Variablen die neuen Java bin-Ordner zuerst abgelegt werden, damit sie alle vorhandenen Java/Bins im Pfad überschreiben. Es ist ein bisschen schlampig, zwei Java/bin-Ordner in Ihrem Pfad zu belassen, daher sollten Sie diese als separate Aufgabe bereinigen.

Fügen Sie außerdem alle obigen Umgebungsvariablen in die Datei /etc/environment ein, damit sie beim Systemstart automatisch geladen werden.

25
Adi

Ich hatte das gleiche Problem ... einen JDK- und Plug-In-Versionskonflikt.

Ich habe mit 1.8 kompiliert, und diese Meldung wurde angezeigt. Also habe ich nach JRE 7 gesucht ( http://www.Oracle.com/technetwork/Java/javase/downloads/server-jre7-downloads-1931105.html ) ... und installiert it ... again ... Jetzt 1.8 und 1.7 im selben Computer.

Die Verwendung von NetBeans, das Kompilieren und das Targeting auf Version 1.7 haben mein Problem behoben.

22
Analyst

Wenn Sie ein Problem in Android Studio haben und Android N installiert haben, ändern Sie die Rendering-Version Android durch eine ältere, und das Problem verschwindet.

Enter image description here

19
Ivo Stoyanov

Wenn Sie die NetBeans-IDE verwenden, klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie Eigenschaften und gehen Sie zu Quellen. Sie können das Quell-/Binärformat in eine niedrigere JDK-Version ändern .

Enter image description here

17
Eduardo Dennis

Die nicht unterstützte major.minor-Version 52.0 wird ausgeführt, wenn Sie versuchen, eine mit dem Java 1.8-Compiler kompilierte Klasse in einer niedrigeren JRE-Version auszuführen, z. JRE 1.7 oder JRE 1.6. Die einfachste Möglichkeit, diesen Fehler zu beheben, besteht darin, die neueste Java Version, d. H. Java 8, zu installieren und das Programm auszuführen.

Lesen Sie mehr: http://javarevisited.blogspot.com/2015/05/fixing-unsupported-majorminor-version.html#ixzz4AVD4Evgv

13

Dies passiert, wenn Sie Ihre Projekte auf higher version von Java kompilieren (sagen Sie jdk 1.8) und sie dann auf einem lower version ausführen (sagen Sie jdk 1.7).

Wenn Sie eine JRE-1.7-Bibliothek in Ihrem Projektpfad haben,

1.Klicken Sie mit der rechten Maustaste auf Projekt

2.Gehen Sie zu Eigenschaften

3.Wählen Sie Projektfacetten

4.Finden Sie Java in Zeilen und wählen Sie Version (sagen Sie 1.7), wenn Sie JRE-1.7 verwenden

5.Klicken Sie auf Übernehmen und führen Sie Ihr Projekt aus.

11
Prateek Joshi

Ich könnte das gleiche Problem mit der folgenden Lösung lösen.

In meinem Projekt habe ich eine JAR-Datei hinzugefügt, die in Java 8 erstellt wurde. Mein Projekt bezog sich auf JRE 7. Als ich das Projekt JRE auf 8 änderte, war mein Problem gelöst.

Schritte:

Klicken Sie in Eclipse mit der rechten Maustaste auf den Projektnamen im Projektexplorer → Erstellungspfad → Bibliotheken → klicken Sie auf JRE-Version → klicken Sie auf BearbeitenInstallierte JRE → Hinzufügen → Standard VM → Wählen Sie den JRE-Start-Klickpfad (Pfad sollte localePath\Java\jdk1.8.0_25\jre sein) → Geben Sie den Namen an → Speichern → Wählen Sie dieselbe JRE für das Projekt aus → Beenden → OK. Aktualisieren/erstellen Sie das Projekt einmal → Versuchen Sie, die Datei Java auszuführen. Es sollte funktionieren.

10
user3181500

Ich habe mein Problem gelöst, indem ich alte Versionen von JRE entfernt und JRE 8 installiert habe.

10
mboy

Ich hatte Java 1.7 & 1.8 installiert (mit SBT 2.4, für das Java 1.8 erforderlich ist). Obwohl mein Projekt mit Java 1.8 verknüpft war, musste ich die Umgebungsvariable Java_HOME in Punkt 1.8 ändern. Endlich ist das Problem gelöst.

9
Lior Ohana

Wenn Sie Eclipse verwenden, stellen Sie sicher, dass Ihr Menü Projekt Eigenschaften Java-Erstellungspfad Bibliotheken Die JRE-Systembibliothek entspricht Ihren Projektanforderungen (siehe Abbildung).

Enter image description here

6
kalan

Alles, was Sie tun müssen, um das Problem zu lösen, ist ... um sicherzustellen, dass Ihre Version von Java sowohl für das Kompilieren als auch für das Ausführen identisch ist. Egal welche Tools oder IDEs Sie verwenden.

6
Nixit Patel

Wenn Sie Linux verwenden und verschiedene Versionen von Java installiert haben, verwenden Sie den folgenden Befehl:

Sudo update-alternatives --config Java

Auf diese Weise können Sie schnell zwischen den Java Versionen wechseln, die auf dem System installiert sind. Durch Auswahl von Java 8 löse ich Ihr Problem.

5
Masoud

Dies fiel mir ein, als ich einen neuen Java 1.8 installierte, aber den alten Befehlszeileninterpreter offen ließ.

Es hatte einen alten Pfad und führte die Anwendung weiterhin mit Java 1.7 aus, wohingegen das Projekt bereits mit Java 1.8 erstellt wurde.

5
Val

Wenn Ihre JDK-Version stimmt. Ein weiterer Grund, der diesen Fehler verursachen kann, ist, dass sich Ihr Android Studio in einer niedrigen Version befindet, Ihre Gradle -Version jedoch zu hoch ist. Upgrade your IDE to a newer version kann hier Abhilfe schaffen.

4
Kyeson

Sie können Ihre Run Configurations -Einstellung überprüfen, wenn Sie Eclipse v4.4 (Luna) verwenden und alle oben genannten Schritte bereits ausgeführt haben.

Es kann verschiedene Möglichkeiten geben, die diesen Fehler verursachen. Die Hauptursache ist eine Nichtübereinstimmung des Projekts, die in JDK1.8/JRE8 kompiliert werden muss, während der Umgebungscompiler JDK1.7/JRE7 ist.

Sie können mein Blogpost überprüfen, um alle Ihre Einstellungen zu überprüfen, die korrekt sind.

3
ct.tan

Aktualisieren Sie Ihre Andorra-Version auf JDK 1.8.

Dies ist ein Versionskonflikt, nach dem Ihr Compiler Java Version 8 sucht, und Sie haben Java Version 7.

Sie können eine in Version 7 erstellte App in Version 8 ausführen, aber nicht umgekehrt, da in höheren Versionen mehr Funktionen und Verbesserungen als in früheren Versionen enthalten sind.

JDK-Version von diesem Link herunterladen

Und legen Sie Ihren JDK-Pfad dafür fest

3

Sie müssen JDK 1.7.0 anstelle von JDK 1.8.0 verwenden.

Um dies sicherzustellen, müssen Sie JDK 1.8.0 auf Ihrem Computer löschen.

Wenn Sie einen Mac verwenden, müssen Sie Folgendes löschen:

/Library/Java/JavaVirtualMachines/jdk.jdk

/Library/PreferencePanes/JavaControlPanel.prefPane

/ Library/Internet Plug-Ins/JavaAppletPlugin.plugin

Anschließend müssen Sie JDK 1.7.0 neu installieren und die JAR-Datei erfolgreich generieren.

3
ClaireWang

Keine dieser Antworten hat mir geholfen, aber ich habe eine Lösung gefunden.
Ich hatte ein in Wildfly 8.2 verwendetes Webprojekt, das mit Maven erstellt wurde. Quelle und Ziel wurden im Maven-Compiler-Plugin auf 1,8 gesetzt, und alle Eclipse- und Maven-Einstellungen wurden auf Java gesetzt. 1.8. Das Problem war, dass Wildfly 8.2 nicht mit Java 1.8 umgehen kann, also musste ich alles auf 1.7 setzen und es funktionierte.

1
Bevor

Ich möchte dies nur hinzufügen. Ich hatte heute dieses Problem. Die Einstellungen in meinem Projekt angepasst, neu erstellt und das gleiche Problem. Ich war (fälschlicherweise) davon ausgegangen, dass das Ändern der Einstellungen in meinem Projekt (Eclipse) dazu führen würde, dass die Projekte, von denen mein Projekt abhängt, ebenfalls neu kompiliert werden. Das Problem wurde behoben, indem die Einstellungen für alle Projekte im Abhängigkeitsbaum angepasst wurden.

1
dexter

Ich bin in Eclipse auf dieses Problem gestoßen Mac OS X 10.9 (Mavericks). Ich habe viele Antworten auf Stack Overflow ausprobiert ... schließlich habe ich nach einem ganzen Tag * eine neue Version des Android SDK installiert (und Eclipse aktualisiert, Menü Projekt Eigenschaften Android , um den neuen Pfad zu verwenden) * .

Ich musste SDK-Updates erhalten, aber nur die Updates herunterladen, die ich für notwendig hielt, um APIs zu vermeiden, mit denen ich nicht gearbeitet habe (wie Wear und TV). und das hat den Trick getan . Anscheinend habe ich mein SDK irgendwo auf dem Weg verfälscht.

Übrigens. Ich habe gesehen, dass der Fehler bei einem Projekt in meinem Arbeitsbereich erneut aufgetreten ist, aber es schien sich um einen Import von appcompat-7 zu handeln, den ich nicht verwendet habe. Nachdem ich dieses Projekt bearbeitet habe, ist das Problem noch nicht aufgetaucht.

1
Gene Bo

Wenn Sie IntelliJ IDEA verwenden, gehen Sie zu Projektstruktur (Ctrl + Alt + Shift + S), und Sie können das JDK Ihres Projekts ändern.

1
Esmaeil MIRZAEE

Gehen Sie einfach zu http://Java.com/en/download/ und aktualisieren Sie Ihre Version von JRE

1
Bikey