Как комментировать строки файла .class? - PullRequest
0 голосов
/ 22 ноября 2018

Я хочу закомментировать несколько строк файла .class.У меня нет исходного файла, но когда я декомпилировал этот файл, я обнаружил, что он пытается импортировать несуществующие классы, что приводит к ошибкам и исключениям.Итак, я хотел закомментировать эти неприятные строки, чтобы устранить причину ошибок.Насколько я знаю, комментарии просто удаляются в файле .class.Как я могу удалить командную строку в файле .class?

1 Ответ

0 голосов
/ 22 ноября 2018

Файл классов - это двоичный формат файла.На уровне классов не существует комментариев.В этом отношении также нет понятия импорта.Вы можете просто сослаться на любой класс, который вам нужен, и JVM загрузит их по мере необходимости.

Похоже, что вы на самом деле пытаетесь отредактировать файл класса, для которого у вас нет исходного кода, и высбой, потому что декомпилированный код приводит к ошибкам компилятора.Помимо проблемы отсутствия источника для зависимостей, это не является неожиданным, поскольку компиляция и декомпиляция являются процессами с потерями.Вы не можете ожидать возможности обходить классы через декомпилятор в целом.

Один из вариантов - редактировать файл класса непосредственно на уровне байт-кода, используя пару ассемблер / дизассемблер, например Krakatau .Кракатау может обойти любой допустимый файл класса в удобочитаемый формат сборки и обратно.Это позволяет редактировать файлы классов, не беспокоясь об ошибках компиляции, об отсутствующих зависимостях или о любых других подобных проблемах.Недостатком является то, что вам необходимо понимать байт-код Java и формат файла классов.

...