Несовместимое магическое значение 1008813135
Я пишу апплет Java и встраиваю его в веб-страницу.
Он использовался для запуска Mac и Windows в разных браузерах без проблем.
Я использовал NetBeans на Mac для создания файла .jar, который использовал апплет.
По той или иной причине я решил загрузить проект в Windows NetBeans - я начал получать следующую ошибку на машине Windows при доступе к веб-странице из любого браузера:
java.lang.ClassFormatError: Incompatible magic value 1008813135 in class file
Опасаясь, что это было мое решение открыть проект в Windows, вызвавший эту ошибку, я попытался построить с Mac NetBeans, но ошибка сохранилась.
Я начал новый проект на Mac и импортировал существующий исходный код: еще одна проблема.
Я читал об этой ошибке, и кажется, что ожидаемое магическое число - это 0xCAFEBABE в шестнадцатеричном формате, которое равно 3405691582 в десятичной системе, а не 1008813135. Таким образом, похоже, что версия Mac для Java не создает этот заголовок файла больше? Это может быть мотыга? Я не делал никаких обновлений или ничего.
Ответы
Ответ 1
Да, 0xCAFEBABE
- это обычные первые 4 байта файла Java.
1008813135 <!DO
в латинском кодировании, которое, по всей вероятности, является началом <!DOCTYPE...
.
Вероятно, это начало страницы 404 error
или какой-либо другой страницы ошибки.
Ответ 2
Я не сталкивался с этой проблемой, но ошибка в Googling дает несколько возможных решений:
forum.sun.com - Разработка Java-апплета - Несовместимое магическое значение 1008813135 в файле класса MyApplet
Слава Богу, проблема решена.
Его кеш Java, поэтому решение перейдет на панель управления Java, вкладку "Общие" и в разделе "Временные файлы Интернета" нажмите "Настройки", затем нажмите "Удалить файлы". Попробуйте снова использовать апплет.
"Несовместимое магическое значение 1008813135" Ошибка?
Теперь проблема решена: я узнал, что хост сайта, который я использовал, вообще не поддерживал .jar файлы. Я массово загрузил файлы с помощью своей ftp-программы и не заметил, что он полностью игнорировал файлы .jar.
Ошибки при инициализации java
Хорошо, поэтому это была проблема с настройкой apache, удалила эту строку из моего файла httpd.conf:
# DefaultType application/x-httpd-php
Исправлена проблема.
Ответ 3
Если вы используете защиту Spring или какие-то пользовательские фильтры сервлетов, убедитесь, что местоположение архива или кодовой базы находится в доступе "allowAll". Это было проблемой в моем случае
Ответ 4
Несовместимое магическое число - это первые четыре байта html файла с некоторым сообщением об ошибке, вероятно, сообщение о том, что файл не найден.
Я столкнулся с этим явлением, когда не учитывал чувствительность к регистру в элементе codebase тега апплета. В Windows все хорошо работало, но на используемом мной интернет-сервере работала UNIX, где важна чувствительность к регистру файлов. Реализация проблемы со всеми именами файлов и каталогов в элементах кода и кода была решена.
Ответ 5
Я столкнулся с одной и той же проблемой. Причина в моем случае заключалась в том, что вся библиотека зависимостей, которую использует апплет, не была подписана, а также апплет не смог найти их.
Итак, я добавил всю зависимую библиотеку вместе с основным апплетом в файле 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 ';
Я также подписал все банку.
Надеюсь, это может сработать в вашем случае.