如何从jar文件中获取方法签名?

MCS*_*MCS 45 java jar reverse-engineering method-signature

我有一个第三方jar文件,它只是部分API的javadocs.有没有办法对jar文件进行反向工程以获得类和方法的完整列表?

Tom*_*ine 57

jar tf将为您列出内容.javap将允许您查看类的更多详细信息(请参阅工具指南).

例如,如果你有一个mypkg.HelloWorld在jar中命名的类,myjar.jar那么就像运行它一样

javap -classpath myjar.jar mypkg.HelloWorld
Run Code Online (Sandbox Code Playgroud)

但是,您确定要使用这些未发布的API吗?这通常是一个非常糟糕的主意.


Sco*_*eld 5

如果您使用的是 eclipse,您只需将其添加到项目的类路径中,然后使用树视图和/或内容辅助来探索它。

我假设其他 IDE 可以做类似的事情。

从命令行的角度来看,您可以解压它 (jar xf foo.jar) 并对所有文件使用 javap。


Mik*_*eck 5

正如斯科特所说,你可以使用Eclipse来获得你想要的很多东西.

我建议获取JadClipse插件,该插件将动态反编译.class文件,并在您浏览IDE中的类时显示实际的Java代码.