查看.jar 文件的内容

问题描述 投票:183回答:29

查看jar文件中的类,方法,属性等最简单的方法是什么?我正在寻找相当于非常有用的Lutz Roeder .NET Reflector - for Java的东西

java jar viewer
29个回答
238
投票

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


4
投票

Jad很笨拙,不再保持。我已切换到"Java Decompiler",它具有灵活的UI并支持新的语言功能。

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


3
投票

好吧,jar文件只是一个zip文件,所以如果你解压缩它(使用你最喜欢的解压缩实用程序),你就可以获得所有文件。

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


3
投票

在Eclipse 3.4中

  1. 将有问题的jar文件拖到Java项目中。出现jar文件的副本。
  2. 右键单击jar文件,然后选择“Build Path” - >“Add to Build Path”。
  3. Jar文件移动到“Referenced Libraries”节点,可以在Project Explorer窗格中打开和导航它。

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

对于Jar文件级别的导航(作为zip文件)我使用7zip非常好,并且允许查看和编辑对于故障排除非常有用的条目。


3
投票

一种方法是在“Package explorer”中打开透视图。这样做你可以看到你的jar的结构与类详细信息。为此,使用包浏览器检查项目中的库文件夹。

窗口>>显示视图>>其他>> Java >> Package Explorer

另一种方法是,你可以使用JarPlug作为eclipse插件。这适用于eclipse / springsource

http://jar-plug.sourceforge.net/


3
投票

如果您在Windows中并使用PowerShell,并且您正在寻找jar中的文件,则可以执行以下操作:

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

3
投票
jar -tvf file_name.jar

上面只会打印文件的名称。

要查看文件的内容,您可以通过以下方式提取文件夹中的文件:

jar -xvf file_name.jar

这将解压缩jar文件并将内容放在运行它的同一目录中。

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


2
投票

这些天您可以使用大多数解压缩实用程序打开它们,如果您想查看源代码,可以使用DJ Java Decompiler之类的东西。


2
投票

Bndtools为Eclipse提供了一个免费的JAR查看器插件。

添加Eclipse update site并仅安装查看器。


1
投票

我更喜欢JAR Browser,它有一个简单的界面,您可以在其中浏览多个JAR,并同时搜索多个JAR中的特定类。


1
投票

Eclipse 3.4 JDT

这不是最快捷的方式,因为你必须先将它拖入你的日食。但即使启用了反编译,您也将拥有完整的Java类浏览。


48
投票

我通常使用7-Zip打开它们...它至少可以查看包和类以及资源。 我是否需要查看方法或字段,我会使用Jad,但当然,最好依靠(好)JavaDoc ...

现在,SO上的某个地方提到了一些Eclipse插件,为了找到一个类所在的jar文件,也许他们可以做更多的事情(即你所要求的)。

[编辑]参考SO线程。不是问什么,而是以某种方式相关,因此有用:Java: How do I know which jar file to use given a class name?


1
投票

我已将Windows中的默认操作设置为“使用WinZip打开”。这样可以轻松地将JAR作为归档进行管理。您甚至可以手动添加/删除文件。


1
投票

我认为Java Decomplier是你可以从这里下载的最佳选择:http://jd.benow.ca/ Preview http://jd.benow.ca/img/screenshot17.png


1
投票

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

unzip -p myjar.jar myfile.txt

这对我很有用!


0
投票

你可以试试JarSpy。我使用的是IDEA插件版本。


0
投票

您的IDE也应该支持这一点。我的IDE(SlickeEdit)将其称为“标记库”。只需为jar文件添加标记库,您就应该能够以分层方式浏览类和方法。


0
投票

在Mac上有Jarzilla


0
投票

我使用JarExplorer或JarVisualizer


0
投票

您可以尝试使用JarNavigator来查看和搜索jar文件的内容。


0
投票

java -xf some-j.jar将解压缩JAR文件。



33
投票

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

JD-GUI的网站:http://jd.benow.ca/


16
投票

Method names, fields, etc.

通过在IDE中向项目添加jar,通常可以查看方法和字段名称,但不能查看详细的实现。 NetBeans可以做到,Eclipse可能,IntelliJ可能等等。您可以直接在IDE中浏览jar结构。

Just the contents

对于查看内容等任何内容,您可以使用:

  • jar tvf jarfile.jar
  • winzip或任何zip工具

The source code

要访问源代码,您可以使用反编译器(如JAD)或其前端或其他反编译器。如果代码被混淆,那么......


10
投票

使用unzip -l <jar-file-name>.jar

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

虽然所有其他答案都很棒,但在大多数情况下,你将不得不使用一些软件,如7 zipJDK或其他一些eclipse工具,而这不需要你有任何这些大s / w,它默认来在linux和mac中,它非常轻巧,使用方便。

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


9
投票

扩展Tom Hawtin的答案,您可以通过管道列出来过滤掉所需的类或文件:

jar tf my-fat-jar-file.jar | grep filename

这应该适用于bash / zsh和similars,或emacs的eshell。

其他信息:https://docs.oracle.com/javase/tutorial/deployment/jar/view.html


7
投票

Use WinRar。它将以完整的方式为您打开文件夹结构。还允许文件内编辑,同时保留路径。

Afterall,JAR文件只是ZIP存档。


6
投票

如果你想看看里面有什么,只需重命名为下面的第一个选项..

  1. F2 & Rename to jarfile.zip //使用任何unzipper ......
  2. jar tvf jarfile.jar
  3. jar tf jarfile.jar

5
投票

如果我理解正确,您不仅要看到类,还要看方法,属性等。我知道可以做到的唯一工具是Eclipse - 如果你向项目类路径添加一个jar,你将能够使用常用的包浏览器浏览其类和方法和属性。

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

© www.soinside.com 2019 - 2024. All rights reserved.