Получение исходного кода динамически генерируемых классов Java - PullRequest
1 голос
/ 02 ноября 2011

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

Существует ли библиотека для программной декомпиляции байт-кода? Обратите внимание, что байт-код, который я хочу декомпилировать, не существует в файловой системе, только в памяти.

1 Ответ

3 голосов
/ 02 ноября 2011

Если вы хотите декомпилировать (то есть получить исходный код), сохраните CtClass в файле класса на диске, а затем используйте декомпилятор, такой как JD-GUI .

ClassFile cf = someCtClass.getClassFile();
FileOutputStream os = new FileOutputStream("C:/somefilename.class");
cf.write(os);
os.close();

Чем просто открыть C:/somefilename.class в декомпиляторе.

...