Несовместимое магическое значение 1008813135 - PullRequest
27 голосов
/ 06 марта 2010

Я пишу апплет Java и встраиваю его в веб-страницу.Раньше без проблем запускал Mac и Windows в разных браузерах.Я использовал NetBeans на Mac для создания файла .jar, который использовал апплет.

По той или иной причине я решил загрузить проект в Windows NetBeans - я начал получать следующую ошибку на компьютере с Windowsпри доступе к веб-странице из любого браузера:

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

Опасаясь, что именно мое решение открыть проект в Windows вызвало эту ошибку - я пытался выполнить сборку из NetBeans для Mac - но ошибка сохранилась.

Я запустил новый проект на Mac и импортировал существующий исходный код: проблема все та же.

Я читал об этой ошибке, и кажется, что ожидаемое магическое число0xCAFEBABE в шестнадцатеричном формате, который составляет 3405691582 в десятичном виде, а не 1008813135. Таким образом, похоже, что версия Java для Mac больше не создает этот заголовок файла?Мотыга это может быть?Я не делал никаких обновлений или чего-либо еще.

Ответы [ 6 ]

59 голосов
/ 06 марта 2010

Да, 0xCAFEBABE - это обычные первые 4 байта файла Java.

1008813135 - это <!DO в латинском кодировании, которое, по всей вероятности, является началом <!DOCTYPE....

Вероятно, это начало 404 error или какой-либо другой страницы с ошибкой.

6 голосов
/ 06 марта 2010

Я не сталкивался с этой проблемой, но поиск в Google этой ошибки дает несколько возможных решений:

forum.sun.com - Разработка Java-апплетов - Несовместимое магическое значение 1008813135 в файле класса MyApplet

Слава Богу, проблема решена.

Это кеш Java, поэтому решение перейдите на панель управления Java, вкладку «Общие», в разделе «Временные файлы Интернета» нажмите «Настройки», затем нажмите «Удалить файлы». Попробуйте использовать апплет снова.

«Несовместимое магическое значение 1008813135» Ошибка?

Теперь проблема решена: я обнаружил, что хост, который я использовал, вообще не поддерживал файлы .jar. Я массово загрузил файлы с моей программой ftp и не заметил, что она полностью игнорировала файлы .jar.

Ошибки при инициализации Java

Хорошо, это была проблема с настройкой apache, удалили эту строку из моего файла httpd.conf:

# DefaultType application/x-httpd-php

Исправлена ​​ошибка.

1 голос
/ 05 октября 2012

Если вы используете систему безопасности Spring или какой-либо другой настраиваемый фильтр сервлетов, убедитесь, что расположение архива или базы кода находится в разрешении "allowAll".Это было проблемой в моем случае

0 голосов
/ 09 июня 2018

Я только что нажал на maven-> обновить проект-> включить выпуск снимка в моей весенней загрузке, и это сработало.

0 голосов
/ 27 ноября 2014

Я столкнулся с той же проблемой. Причина в моем случае была , все библиотеки зависимостей, которые использует Апплет, не были подписаны, а также апплет не смог их найти .

Итак, я добавил всю зависимую библиотеку вместе с основным апплетом в файл jsp, как показано ниже:

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

Я также подписал всю банку.

Надеюсь, это может сработать в вашем случае.

0 голосов
/ 20 июня 2012

Несовместимое магическое число - это первые четыре байта html-файла, в котором есть сообщение об ошибке, вероятно, сообщение о том, что файл не найден.

Я столкнулся с этим явлением, когда не учел чувствительность к регистру в элементе codebase тега applet. В Windows все работало хорошо, но интернет-сервер, который я использовал, работал под управлением UNIX, где важна чувствительность к регистру имен файлов. Учет всех имен файлов и каталогов в элементах кода и кодовой базы решил проблему.

...