查看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文件>。如果你的操作系统支持这个。
其他回答
我个人使用的是JD-GUI。它是一个免费的“反编译器”,因为它允许你看到源代码、类和类中的对象,以及在左侧的树菜单中看到文件结构。但是,它不允许您直接修改类。
jdgui的网站:http://jd.benow.ca/
jar -tvf file_name.jar
上面只打印文件的名称。
要查看文件的内容,您可以通过以下方法解压文件夹中的文件:
jar -xvf file_name.jar
这将解压jar文件&把内容放在相同的目录,你正在运行这个。
或者在Windows中将。jar文件重命名为。zip,然后你可以解压缩来提取和查看jar文件的内容。因为jar在内部是一个zip文件。
我认为Java Decomplier是你最好的选择,你可以从这里下载:http://jd.benow.ca/
你可以通过以下方法在Windows资源管理器中查看类似ZIP文件的JAR文件:
以管理员身份运行命令提示符 在命令行输入: assoc . jar = CompressedFolder 当你这样做的时候,你也可以对WAR和EAR文件做同样的事情: assoc . war = CompressedFolder assoc . ear = CompressedFolder
我更喜欢JAR浏览器,它有一个简单的界面,你可以浏览多个JAR,并同时在多个JAR中搜索特定的类。
推荐文章
- 如何分割逗号分隔的字符串?
- 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字段?