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


当前回答

在Eclipse 3.4中

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

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

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

其他回答

我通常用7-Zip打开它们…它至少允许看到包、类和资源。 如果我需要看到方法或字段,我会使用Jad,但当然,最好依赖(好)JavaDoc…

现在,在SO的某个地方提到了一些Eclipse插件,为了找到一个类位于哪个jar文件中,也许它们可以做更多的事情(例如。你所要求的)。

[编辑]参考SO线程。不是问什么,但在某种程度上相关,因此有用:Java:我如何知道给定一个类名使用哪个jar文件?

以防有人还不知道这一点,JAR文件就是一个ZIP文件 其中包含程序的类、资源等 元数据。你可以提取一个,看看它是如何组合在一起的。

因此,我使用易于记忆和使用的unzip命令。

解压缩-l <jar-file-name>.jar

例如,如果你有一个名为test.jar的jar文件,那么unzip -l test.jar将列出jar文件的所有内容。

虽然所有其他答案都很好,但在大多数情况下,你必须使用一些软件,如7zip或JDK或其他eclipse工具,而这并不需要你有任何这些大的s/w,它是默认的linux和mac,所以它非常轻量级和方便使用。

你也可以使用zipinfo <你的jar文件>。如果你的操作系统支持这个。

嗯,jar文件就是一个压缩文件,所以如果您解压缩它(使用您最喜欢的解压缩实用程序),就可以得到里面的所有文件。

如果想要查看类文件内部的方法,则需要一个工具。正如PhiLho提到的,Eclipse能够做到这一点(默认情况下),我认为大多数Java ide都能够做到这一点。

Mac上有Jarzilla

如果你在windows和使用powershell,你正在寻找一个文件在一个jar,你可以这样做:

jar -tf .\[JAR_NAME] | where {$_ -match "[FILENAME]"}