查看jar文件中的类、方法、属性等最简单的方法是什么? 我正在寻找一些等价于非常有用的Lutz Roeder .NET Reflector - Java


当前回答

日食 3.4 JDT

这不是最快的方法,因为你必须先把它拖到你的日食中。 但是您将拥有完整的java类浏览,即使启用了反编译。

其他回答

我个人使用的是JD-GUI。它是一个免费的“反编译器”,因为它允许你看到源代码、类和类中的对象,以及在左侧的树菜单中看到文件结构。但是,它不允许您直接修改类。

jdgui的网站:http://jd.benow.ca/

杰德是笨拙的,不再维持。我已经切换到“Java反编译器”,它有一个光滑的UI,并支持新的语言功能。

不过,我使用过的每一个反编译器都会遇到无法成功反编译的代码。对于这些人,它有助于理解由标准JDK工具javap生成的反汇编Java字节代码。

在Eclipse 3.4中

将jar文件拖到Java项目中。将出现jar文件的副本。 右键单击jar文件,并选择“构建路径”->“添加到构建路径”。 Jar文件被移动到“引用库”节点,可以在项目资源管理器窗格中打开和导航。

如果看到源代码也是一个问题,那就打开一个新的问题。

对于jar文件级别的导航(作为一个zip文件),我使用7zip,它工作得非常好,并且允许查看和编辑条目,这对于解决问题非常有用。

如果我理解正确的话,您不仅希望看到类,还希望看到方法、属性等等。我所知道的唯一可以做到这一点的工具是Eclipse——如果您将一个jar添加到项目类路径中,您将能够使用通常的包资源管理器浏览它的类的方法和属性。

无论如何,这对于一个优秀的独立Java工具来说是一个好主意

扩展Tom Hawtin的回答,你可以通过管道过滤出所需的类或文件:

Jar tf my-fat-jar-file.jar | grep文件名

这应该适用于bash/zsh和类似文件,或emacs的shell。

更多信息:https://docs.oracle.com/javase/tutorial/deployment/jar/view.html