Конвертировать .class в .java - PullRequest
29 голосов
/ 03 июня 2011

У меня есть несколько файлов .class, которые мне нужно преобразовать в .java, поэтому я сделал:

javap -c ClassName.class

и все время у меня одна и та же ошибка

ОШИБКА: не удалось найти ClassName.class

Ребята, вы хоть представляете, в чем причина? Я сделал man javap и насколько я знаю, синтаксис правильный. Если есть другой способ преобразовать его в файл .java, я более чем готов попробовать. Любая идея с благодарностью?

Ответы [ 3 ]

34 голосов
/ 03 июня 2011

Вызов javap для чтения байт-кода

Команда javap принимает имена классов без расширения .class. Попробуйте

javap -c ClassName

Преобразование файлов .class обратно в файлы .java

Однако

javap не даст вам реализации методов в java-синтаксисе. Максимально он будет передан вам в формате байт-кода JVM.

Чтобы на самом деле декомпилировать (т. Е. Сделать наоборот javac), вам придется использовать правильный декомпилятор. См., Например, следующий связанный вопрос:

1 голос
/ 03 июня 2011

Я предполагаю, что либо имя класса неверно - обязательно используйте полностью разрешенное имя класса со всеми пакетами, либо его нет в CLASSPATH, поэтому javap не может его найти.

0 голосов
/ 27 февраля 2013

Это для пользователей Mac:

Прежде всего вы должны уточнить, где находится файл класса ... так, например, в «Терминале» (Приложение Mac) вы должны ввести:

cd

тогда где бы вы ни находились, например:

cd /Users/CollarBlast/Desktop/JavaFiles/

, тогда вы нажмете Enter.После этого вы будете выполнять команду.Например:

cd /Users/CollarBlast/Desktop/JavaFiles/ (затем я нажимаю клавишу ввода ...)

Затем я набираю команду:

javap -c JavaTestClassFile.class (затем я нажимаю клавишу ввода еще раз...)

и, надеюсь, это должно сработать!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...