web-dev-qa-db-fra.com

Valeur magique incompatible 1008813135

J'écris une applet Java et l'intègre dans une page Web . Il était possible d'exécuter Mac et Windows dans différents navigateurs sans problème . J'utilisais NetBeans sur Mac pour créer le fichier .jar utilisé par l'applet.

Pour une raison ou une autre, j'ai décidé de charger le projet sur les NetBeans de Windows. J'ai commencé à recevoir l'erreur suivante sur la machine Windows lors de l'accès à la page Web à partir de n'importe quel navigateur: 

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

Craignant que ce soit ma décision d'ouvrir le projet sous Windows qui ait provoqué cette erreur - j'ai essayé de créer à partir du NetBeans du Mac - mais l'erreur a persisté.

J'ai démarré un nouveau projet sur Mac et importé le code source existant: toujours le même problème.

Je lisais quelque chose sur cette erreur et il semble que le nombre magique attendu soit 0xCAFEBABE en hex, 3405691582 en décimal, et non 1008813135. Il semble donc que la version Mac de Java ne produise plus cet en-tête de fichier? Hoe ça peut être? Je n'ai fait aucune mise à jour ou quoi que ce soit.

27
Warlax

Oui, 0xCAFEBABE correspond aux 4 premiers octets habituels d’un fichier Java.

1008813135 est <!DO en codage latin, ce qui est très probablement le début de <!DOCTYPE....

Il s'agit donc probablement du début d'un 404 error, ou d'une autre page d'erreur.

59
Pool

Je n'ai pas rencontré ce problème, mais cette erreur Google a donné plusieurs solutions possibles:

forum.Sun.com - Développement d'applets Java - Valeur magique incompatible 1008813135 dans le fichier de classe MyApplet

Merci mon Dieu, le problème est résolu.

C’est le cache Java. La solution se trouve donc dans le Panneau de configuration Java, dans l’onglet "Général", puis sous "Fichiers Internet temporaires", cliquez sur "Paramètres", puis sur "Supprimer les fichiers". Essayez d'utiliser l'applet à nouveau.

"Valeur magique incompatible 1008813135" Erreur?

Le problème est maintenant résolu: j'ai découvert que le site Web que j'utilisais ne supportait pas du tout les fichiers .jar. J'ai chargé en masse les fichiers avec mon programme ftp et je n'ai pas remarqué qu'il ignorait complètement les fichiers .jar.

Erreurs lors de l'initialisation Java

Bon, donc c'était un problème de configuration Apache, a supprimé cette ligne de mon fichier httpd.conf:

# DefaultType application/x-httpd-php

Correction du problème.

6

Si vous utilisez la sécurité Spring ou une sorte de filtres de servlet personnalisés, assurez-vous que l'emplacement de l'archive ou de la base de code est en accès "permitAll". C'était un problème dans mon cas

1
forest

Je faisais face au même problème. La raison dans mon cas était toutes les bibliothèques de dépendances utilisées par Applet n’étaient pas signées et l’applet également incapable de les localiser .

J'ai donc ajouté toute la bibliothèque dépendante avec l'applet principale dans un fichier jsp comme ci-dessous:

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 ';

J'ai aussi signé tout le pot.

J'espère que cela fonctionnera dans votre cas.

0
naren_rana

Le nombre magique incompatible est constitué des quatre premiers octets d'un fichier HTML contenant un message d'erreur, probablement un message indiquant que le fichier n'a pas été trouvé.

J'ai rencontré ce phénomène lorsque je ne prenais pas en compte la sensibilité à la casse dans l'élément codebase de la balise applet. Les choses fonctionnaient bien sous Windows, mais le serveur Internet que j'utilisais était sous UNIX, où la sensibilité à la casse des noms de fichier est importante. Faire en sorte que tous les noms de fichiers et de répertoires contenus dans les éléments de code et de base de code résolvent le problème.

0
Inghard Gjovaag

Je viens de cliquer sur maven-> projet de mise à jour-> inclure la publication d'instantané dans ma botte de printemps et cela a fonctionné.

0
Shubh Dixit