查看jar文件中的类,方法,属性等最简单的方法是什么?我正在寻找相当于非常有用的Lutz Roeder .NET Reflector - for Java的东西
使用JDK,jar -tf
将列出jar中的文件.javap
将从特定的类文件中提供更多详细信息.
我通常使用7-Zip打开它们...它至少可以查看包和类以及资源.
我是否需要查看方法或字段,我会使用Jad,但当然,最好依靠(好)JavaDoc ...
现在,SO上的某个地方提到了一些Eclipse插件,为了找到一个类所在的jar文件,也许他们可以做更多的事情(即你所要求的).
[编辑]参考SO线程.不是被问到什么,而是以某种方式相关,因此有用:Java:如何知道给定类名的jar文件?
我个人使用的是JD-GUI.它是一个免费的"反编译器",因为它允许您查看类中的源代码,类和对象,以及在左侧树状菜单中查看文件结构.但是,它不允许您直接修改类.
JD-GUI的网站:http://jd.benow.ca/
通过在IDE中向项目添加jar,通常可以查看方法和字段名称,但不能查看详细的实现.NetBeans可以做到,Eclipse可能,IntelliJ可能等等.您可以直接在IDE中浏览jar结构.
对于查看内容等任何内容,您可以使用:
jar tvf jarfile.jar
winzip或任何zip工具
要访问源代码,您可以使用反编译器(如JAD)或其前端或其他反编译器.如果代码被混淆,那么......
使用unzip
例如,如果你有名称的jar文件unzip -l
,然后test.jar
将列出的jar文件的内容.
根据unzip -l test.jar
带选项的命令手册- l.
列出档案文件(短格式).将打印指定文件的名称,未压缩文件大小和修改日期和时间,以及指定的所有文件的总计.如果在定义了OS2_EAS的情况下编译了UnZip,则-l选项还会列出存储的OS/2扩展属性(EA)和OS/2访问控制列表(ACL)的大小的列.此外,还会显示zipfile注释和单个文件注释(如果有).如果文件是从单个案例文件系统(例如,旧的MS-DOS FAT文件系统)存档并且给出了-L选项,则文件名将转换为小写并以插入符号为前缀(^)
你也可以使用7 zip
.如果你的操作系统支持这个
扩展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
使用WinRar.它将以完整的方式为您打开文件夹结构.还允许文件内编辑,同时保留路径.
Afterall,JAR文件只是ZIP存档.
如果你想看看里面有什么,只需重命名为下面的第一个选项..
F2 & Rename to jarfile.zip
//使用任何unzipper ......
jar tvf jarfile.jar
jar tf jarfile.jar
如果我理解正确,你不仅要看到类,还要看方法,属性等.我知道可以做到的唯一工具是Eclipse - 如果你向项目类路径添加一个jar,你将能够使用常用的包浏览器浏览其类和方法和属性.
无论如何,这对于一个好的独立Java工具来说是一个好主意