我正在动态生成新类(使用Javassist),我希望能够获得这些生成的类的源代码。
是否有用于以编程方式反编译字节代码的库?请注意,我想要反编译的字节代码在文件系统中不存在,只存在于内存中。
答案 0 :(得分:3)
如果要反编译(即获取原始源),请将CtClass保存到磁盘上的类文件中,然后使用反编译器,例如JD-GUI。
ClassFile cf = someCtClass.getClassFile();
FileOutputStream os = new FileOutputStream("C:/somefilename.class");
cf.write(os);
os.close();
而不仅仅是在反编译器中打开C:/somefilename.class
。