Bilder:
Eingabeaufforderung mit Versionen
Bild des Fehlers
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);
}
}
<HTML>
<HEAD>
<TITLE>HelloWorld Applet</TITLE>
</HEAD>
<BODY>
<APPLET CODE="Hello.class" WIDTH=300 HEIGHT=150>
</APPLET>
</BODY>
</HTML>
Hello : Unsupported major.minor version 52.0
Woran kann das liegen?
Das Problem liegt an der Nichtübereinstimmung von Java Versionen. Unter Bezugnahme auf Wikipedia Java Class Reference :
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
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>
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.
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ü Windows → Einstellungen, 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.
Sie müssen Ihre Anwendung mit derselben Java-Version ausführen und kompilieren.
Wenn Sie Eclipse verwenden, sollten Sie zwei Dinge tun:
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.
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.
Sie müssen Ihre Java Version auf Java 8 aktualisieren.
# 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
# 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.
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 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)
Die meisten Java-basierten Anwendungen arbeiten mit Umgebungsvariablen. Setzen Sie die Umgebungsvariablen Java mit den folgenden Befehlen:
# 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.
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.
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 .
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
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.
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 Bearbeiten → Installierte 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.
Ich habe mein Problem gelöst, indem ich alte Versionen von JRE entfernt und JRE 8 installiert habe.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
Wenn Sie IntelliJ IDEA verwenden, gehen Sie zu Projektstruktur (Ctrl + Alt + Shift + S), und Sie können das JDK Ihres Projekts ändern.
Gehen Sie einfach zu http://Java.com/en/download/ und aktualisieren Sie Ihre Version von JRE