读取Java .class文件

Bar*_*lom 5 java code-generation decompiling bytecode .class-file

我想编写一个工具,使用编译.class文件作为输入生成一些代码.具体来说,我想从这个类文件中读取:

  • 方法,带注释
  • 方法参数,带注释

输入类文件可能会引用不在工具类路径中的几种类型.这没关系,我不需要对它们做任何事情,只需要将完全限定的类型名称作为字符串读取.我确实需要从注释中获取一些信息,但它们将在工具的类路径中.

有没有我可以用于此目的的图书馆?如果API有点像反射API那会很好,但它不一定如此.

Pet*_*rey 6

ASM http://asm.ow2.org/允许您从文件/输入流中读取类而无需加载类.它允许您查看未在运行时加载的注释.它还可以用于修改类字节代码/注释/方法等.