java .lang.ClassFormatError: Несовместимые маги c значение 791617546 - PullRequest
0 голосов
/ 29 марта 2020

Я играл в майнкрафт, и у клиента, на котором я играл, была ошибка, из-за которой мой майнкрафт падал после вывода табуляции, поэтому я хотел это исправить. Я декомпилирую клиента и редактирую файл. java в NetBeans (я редактирую очень мало) и сохраняю файл как файл .class. Я помещаю этот файл обратно в исходный файл .jar, и при попытке запустить игру выдает «java .lang.ClassFormatError: Несовместимое magi c значение 791617546». Я посмотрел на проблему, и другие люди, казалось, исправили ее, очистив свой кэш от временных файлов, но мне это не помогло. Я очень незнаком с внутренней работой java, поэтому я не очень понимаю, что это значит. Если кто-то может сказать мне, что я делаю неправильно, и сказать, как я могу это исправить, или сказать мне, как я могу отредактировать код, или просто предложить мне объяснение того, почему происходит такое, что может сделать мой день.

1 Ответ

0 голосов
/ 29 марта 2020

791617546 в десятичном виде - это 0x2F2F200A в шестнадцатеричном формате, то есть //, за которым следуют пробел и символ новой строки в ASCII. Учитывая это, похоже, что вы сохранили исходный код Java непосредственно в виде файла .class и попытались поместить его в банку. Это не сработает. Вам нужно сохранить исходный код в виде файла. java, а затем скомпилировать его, чтобы создать файл .class, и вместо этого поместить скомпилированный результат в jar.

...