4

在 Eclipse 或 NetBeans 中,当您“控制 + 单击”进入一个函数时,您至少可以看到它的整个签名,即使它位于 jar 文件中。

我想知道是否可以编写一个工具来从 jar 文件中提取所有函数签名。有没有这方面的API?

我知道jDepend似乎为此提供了功能。但是,我相信有一些更通用的方法可以做到这一点。

4

2 回答 2

4

我认为该javap工具就是您所追求的。

类似的东西javap -classpath ./lib/ MyClass应该可以解决问题。

另请参阅本教程和 javap 的参考信息(谷歌javap,我没有足够的声誉来发布超过 1 个链接)。

于 2010-10-04T05:06:32.947 回答
2

jar 是 zip 文件,因此您可以使用 zip 例程来获取 jar 文件中每个类的字节码定义。

然后,给定字节码,您可以使用javassist之类的字节码分析工具将字节码加载到 ClassFile 中,然后获取 MethodInfo,然后您可以随意处理。

于 2010-10-04T05:56:47.853 回答