it-swarm.com.de

Inkompatibler magischer Wert 1008813135

Ich schreibe ein Java-Applet und binde es in eine Webseite ein. Es benutzte Mac und Windows ohne Probleme in verschiedenen Browsern. Ich benutzte NetBeans auf dem Mac, um die .jar-Datei des Applets zu erstellen.

Aus irgendeinem Grund entschied ich mich, das Projekt auf die NetBeans von Windows zu laden. Beim Zugriff auf die Webseite von einem beliebigen Browser aus wurde der folgende Fehler auf dem Windows-Computer angezeigt: 

Java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file

Aus Angst, dass es meine Entscheidung gewesen sein muss, das Projekt unter Windows zu öffnen, das diesen Fehler verursacht hat - ich habe versucht, aus den NetBeans des Macs zu bauen -, aber der Fehler blieb bestehen.

Ich habe vor einiger Zeit ein neues Projekt auf dem Mac gestartet und den vorhandenen Quellcode importiert: immer noch dasselbe Problem.

Ich habe etwas über diesen Fehler gelesen, und es scheint, dass die erwartete magische Zahl 0xCAFEBABE in Hexadezimalzahlen ist, die 3405691582 ist, und nicht 1008813135. Wie kann das sein? Ich habe keine Updates oder irgendetwas gemacht.

27
Warlax

Ja, 0xCAFEBABE sind die üblichen ersten 4 Bytes einer Java-Datei.

1008813135 ist <!DO in lateinischer Kodierung, was aller Wahrscheinlichkeit nach der Beginn von <!DOCTYPE... ist.

Es ist daher wahrscheinlich der Beginn einer 404 error- oder einer anderen Fehlerseite.

59
Pool

Ich habe dieses Problem nicht erlebt, aber das Durchlaufen dieses Fehlers führt zu mehreren möglichen Lösungen:

forum.Sun.com - Java Applet-Entwicklung - Inkompatibler magischer Wert 1008813135 in der Klassendatei MyApplet

Gott sei Dank ist das Problem gelöst.

Dies ist der Java-Cache. Daher gehen Sie zur Java-Systemsteuerung, Registerkarte "Allgemein". Klicken Sie unter "Temporäre Internetdateien" auf "Einstellungen" und anschließend auf "Dateien löschen". Versuchen Sie es erneut mit dem Applet.

"Inkompatibler magischer Wert 1008813135" Fehler?

Das Problem ist jetzt gelöst: Ich habe herausgefunden, dass der von mir verwendete Website-Host überhaupt keine .jar-Dateien unterstützt. Ich habe die Dateien gemeinsam mit meinem FTP-Programm hochgeladen und habe nicht bemerkt, dass die JAR-Dateien vollständig ignoriert wurden.

Fehler bei der Java-Initialisierung

Okay, es war also ein Apache-Konfigurationsproblem. Diese Zeile wurde aus meiner httpd.conf-Datei entfernt:

# DefaultType application/x-httpd-php

Problem behoben.

6

Wenn Sie Spring Security oder eine Art von benutzerdefinierten Servlet-Filtern verwenden, stellen Sie sicher, dass sich der Archiv- oder Codebase-Speicherort unter "allowAll" befindet. Dies war in meinem Fall ein Problem

1
forest

Ich stand vor demselben Problem. Der Grund in meinem Fall war alle Abhängigkeitsbibliotheken, die Applet verwendet, waren nicht signiert und auch das Applet konnte sie nicht finden .

Also habe ich alle abhängigen Bibliotheken zusammen mit dem Haupt-Applet in der folgenden JSP-Datei hinzugefügt:

app.archive = '/esense/resources/lib/Applet.jar, /esense/resources/lib/jasypt-1.7.jar, /esense/resources/lib/mysql-connector-Java-5.1.30.jar, /esense/resources/lib/runtime-api-1.0.jar ';

Ich habe auch das ganze Glas unterschrieben.

Ich hoffe, das funktioniert in Ihrem Fall.

0
naren_rana

Die inkompatible magische Zahl besteht aus den ersten vier Bytes einer HTML-Datei, in der eine Fehlernachricht enthalten ist. Möglicherweise wird die Datei nicht gefunden.

Ich bin auf dieses Phänomen gestoßen, als ich die Groß- und Kleinschreibung im Codebase-Element des Applet-Tags nicht berücksichtigt habe. Unter Windows funktionierten die Dinge gut, aber auf dem von mir verwendeten Internetserver wurde UNIX ausgeführt, bei dem die Berücksichtigung der Dateinamen wichtig ist. Das Problem wurde dadurch gelöst, dass alle Datei- und Verzeichnisnamen in den Code- und Codebase-Elementen berücksichtigt wurden.

0
Inghard Gjovaag

Ich habe einfach auf maven-> update project-> Snapshot Release in meinen Spring Boot geklickt und es hat funktioniert.

0
Shubh Dixit