访问.class文件中的符号表

时间:2012-06-11 11:21:03

标签: java bytecode symbol-table

对于Java中的任意代码库,我想在符号和类型之间创建一个USES和USED-BY关系的表(概念上)。符号表具有我需要的信息。然而,编写一个前端似乎是一项艰巨的任务,并有可能将我的项目变成一个更大的子项目。在我看来,没有理由这样做,因为字节码,Java .class文件必须在其中包含每个类的符号表,以便它可以解析类型和引用。

我的问题是 -

  

如何以编程方式访问一组内的符号表   .class文件,以便我可以创建我想要的USES / USED-BY表?具有   任何人都已经这样做了(肯定答案是肯定的)并且是工具   这样做不是图书馆吗?

2 个答案:

答案 0 :(得分:1)

看看ASM bytecode manipulation framework。这个tutorial有一个从字节码中检索依赖项的例子。如果您使用最近推出的RemappingClassAdapter

,可以大大简化它

答案 1 :(得分:0)

您可以使用javap获得字节码,之后只需进行文本解析。