查看jar文件中的类、方法、属性等最简单的方法是什么? 我正在寻找一些等价于非常有用的Lutz Roeder .NET Reflector - Java
当前回答
如果我理解正确的话,您不仅希望看到类,还希望看到方法、属性等等。我所知道的唯一可以做到这一点的工具是Eclipse——如果您将一个jar添加到项目类路径中,您将能够使用通常的包资源管理器浏览它的类的方法和属性。
无论如何,这对于一个优秀的独立Java工具来说是一个好主意
其他回答
嗯,jar文件就是一个压缩文件,所以如果您解压缩它(使用您最喜欢的解压缩实用程序),就可以得到里面的所有文件。
如果想要查看类文件内部的方法,则需要一个工具。正如PhiLho提到的,Eclipse能够做到这一点(默认情况下),我认为大多数Java ide都能够做到这一点。
如果我理解正确的话,您不仅希望看到类,还希望看到方法、属性等等。我所知道的唯一可以做到这一点的工具是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
如果你在windows和使用powershell,你正在寻找一个文件在一个jar,你可以这样做:
jar -tf .\[JAR_NAME] | where {$_ -match "[FILENAME]"}
我个人使用的是JD-GUI。它是一个免费的“反编译器”,因为它允许你看到源代码、类和类中的对象,以及在左侧的树菜单中看到文件结构。但是,它不允许您直接修改类。
jdgui的网站:http://jd.benow.ca/
推荐文章
- 如何分割逗号分隔的字符串?
- Java字符串—查看字符串是否只包含数字而不包含字母
- Mockito.any()传递带有泛型的接口
- 在IntelliJ 10.5中运行测试时,出现“NoSuchMethodError: org.hamcrest. matcher . descripbemismatch”
- 使用String.split()和多个分隔符
- Java数组有最大大小吗?
- 在Android中将字符串转换为Uri
- 从JSON生成Java类?
- 为什么java.util.Set没有get(int index)?
- Swing和AWT的区别是什么?
- 为什么Java流是一次性的?
- 四舍五入BigDecimal *总是*有两位小数点后
- 设计模式:工厂vs工厂方法vs抽象工厂
- Java:检查enum是否包含给定的字符串?
- 它的意思是:序列化类没有声明一个静态的最终serialVersionUID字段?