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


当前回答

以防有人还不知道这一点,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文件>。如果你的操作系统支持这个。

其他回答

使用JDK, jar -tf将列出jar中的文件。Javap将从特定的类文件中提供更多详细信息。

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

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

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

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

我的需求是查看jar中文件(如属性文件)的内容,而不需要实际提取jar。如果有人像我一样到达了这个线程,试试这个命令-

unzip -p myjar.jar myfile.txt

这对我来说很有效!

jar -tvf file_name.jar

上面只打印文件的名称。

要查看文件的内容,您可以通过以下方法解压文件夹中的文件:

jar -xvf file_name.jar

这将解压jar文件&把内容放在相同的目录,你正在运行这个。

或者在Windows中将。jar文件重命名为。zip,然后你可以解压缩来提取和查看jar文件的内容。因为jar在内部是一个zip文件。

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

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