688 Stimmen

Nicht unterstützte major.minor Version 52.0

Bilder:

Eingabeaufforderung zeigt Versionen Eingabeaufforderung zeigt Versionen

Bild des Fehlers Bild des Fehlers

Hello.java

import java.applet.Applet;
import java.awt.*;

public class Hello extends Applet {

    // Java-Applet, um "Hello World" zu zeichnen
    public void paint (Graphics page) {
        page.drawString ("Hallo Welt!", 50, 50);
    }
}

Hello.html

        HelloWorld-Applet

Fehler

Hello: Nicht unterstützte major.minor Version 52.0

Was könnte das Problem sein?

723voto

Aks Punkte 7299

Das Problem liegt an der Java-Versionen nicht übereinstimmen. Gemäß der JVM-Spezifikation sind dies die Hauptversionen von Classfiles für die Verwendung mit verschiedenen Java-Versionen. (Derzeit unterstützen alle Versionen alle vorherigen Versionen.)

Java SE-Version

Hauptversion

1.0.2

45

1.1

45 (kein Tippfehler, dieselbe Version)

1.2

46

1.3

47

1.4

48

5.0

49

6

50

7

51

8

52

9

53

10

54

11

55

12

56

13

57

14

58

15

59

16

60

Dies sind die zugewiesenen Hauptnummern. Der Fehler bezüglich der nicht unterstützten Haupt-Nebenversion tritt auf, weil Sie während der Kompilierung eine höhere JDK und während der Laufzeit eine niedrigere JDK verwenden.

Der Fehler 'Haupt-Nebenversion 52.0' tritt möglicherweise auf, weil das Jar in JDK 1.8 kompiliert wurde, Sie jedoch versuchen es in einer JDK 1.7-Umgebung auszuführen. Die angegebene Nummer ist die erforderliche Nummer, nicht die Nummer, die Sie verwenden. Um dieses Problem zu lösen, ist es immer besser, dass JDK und JRE auf dieselbe Version verweisen.

In IntelliJ IDEA,

  1. Gehen Sie zu Maven-Einstellungen Maven Importieren. Setzen Sie den JDK für den Importeur auf 1.8.
  2. Gehen Sie zu Maven-Einstellungen Maven Laufzeitumgebung. Setzen Sie die JRE auf 1.8.
  3. Gehen Sie zum Menü Datei* Projektstruktur SDKs. Stellen Sie sicher, dass der JDK-Heimpfad auf 1.8 gesetzt ist.

Starten Sie IntelliJ IDEA neu.

Ein anderer Ansatz, der möglicherweise hilfreich ist, besteht darin, IntelliJ IDEA 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:

JVMVersion
1.8*

90voto

Andrew Thompson Punkte 166383

Der kluge Weg, dieses Problem zu beheben, besteht darin, mit dem neuesten SDK zu kompilieren und die Cross-Compiler-Optionen beim Kompilieren zu verwenden. Um die Optionen vollständig korrekt zu verwenden, wird das rt.jar einer JRE (nicht JDK) der Zielversion benötigt.

Aufgrund der Natur dieses Applets sieht es so aus, als ob es für die Verwendung mit Java 1.1 kompiliert werden könnte, was bedeutet, dass Sie javac -target 1.1 verwenden würden.

64voto

olammy Punkte 5758

Sie müssen die Compiler-Kompatibilitätsebene in Ihrem IDE wieder auf 1.7 ändern.

Dies kann in den Einstellungen der Präferenzen Ihres IDEs erfolgen. Zum Beispiel in Eclipse gehen Sie zum Menü Fenster Präferenzen, wählen Java und erweitern es. Dann wählen Sie Compiler und ändern Sie die Konformitätsebene auf 1.7. Ich bin sicher, dass es von dort aus funktionieren wird.

53voto

ZAIRI Oussama Punkte 745

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

Wenn Sie Eclipse verwenden, sollten Sie 2 Dinge tun:

  1. In Eclipse klicken Sie auf "Fenster > Einstellungen" und im erscheinenden Fenster auf der linken Seite unter "Java" auf "Installierte JREs" klicken Sie auf "Hinzufügen..." und navigieren Sie zum Ordner, der das JDK enthält.

  2. Klicken Sie mit der rechten Maustaste auf Ihr Projekt und wählen Sie "Eigenschaften". In dem erscheinenden Fenster auf der linken Seite klicken Sie auf "Java-Compiler" und deaktivieren Sie "Compliance vom Ausführungsumfeld auf dem Java Build Path verwenden". Dadurch können Sie in der Liste "Compiler-Compliance-Level" die gleiche Version auswählen, die Sie im vorherigen Schritt festgelegt haben.

25voto

Adi Punkte 2024

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

Download des neuesten Java-Archivs

Laden Sie die neueste Java SE Development Kit 8-Version von der offiziellen Download-Seite herunter oder verwenden Sie die folgenden Befehle, um sie aus 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 oben genannte wget-Befehl für Sie nicht funktioniert, sehen Sie sich dieses Beispielvideo an, um das Java-Quellarchiv über das Terminal herunterzuladen.

Java mit Alternativen installieren

Nach dem Extrahieren der Archivdatei verwenden Sie den alternatives-Befehl, um sie zu installieren. Der alternatives-Befehl ist im chkconfig-Paket 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

An diesem Punkt wurde Java 8 erfolgreich auf Ihrem System installiert. Wir empfehlen auch, die Pfade für die javac- und jar-Befehle mithilfe 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.

root@tecadmin ~# 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)

Konfigurieren von Umgebungsvariablen

Die meisten Java-basierten Anwendungen verwenden Umgebungsvariablen für ihre Arbeit. Setzen Sie die Java-Umgebungsvariablen mit den folgenden Befehlen:

Setup JAVA_HOME Variable

# 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 die Änderung der PATH-Variable die neuen Java-Bin-Ordner zuerst setzt, damit sie vorhandene Java/Bin-Ordner im Pfad überschreiben. Es ist etwas schlampig, zwei Java/Bin-Ordner in Ihrem Pfad zu lassen, sodass Sie dazu angehalten sind, diese separat aufzuräumen.

Legen Sie außerdem alle oben genannten Umgebungsvariablen in der Datei /etc/environment fest, um sie beim Systemstart automatisch zu laden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X