it-swarm.com.ru

Несовместимое магическое значение 1008813135

Я пишу 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 больше не генерирует этот заголовок файла? Мотыга это может быть? Я не делал никаких обновлений или чего-либо еще.

27
Warlax

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

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

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

59
Pool

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

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

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

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

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

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

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

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

# DefaultType application/x-httpd-php

Исправлена ​​проблема.

6
polygenelubricants

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

1
forest

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

Поэтому я добавил всю зависимую библиотеку вместе с основным апплетом в файл 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
naren_rana

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

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

0
Inghard Gjovaag

Я только что нажал на maven-> update project-> include releaseshot в моей весенней загрузке, и это сработало.

0
Shubh Dixit