查看jar文件中的类、方法、属性等最简单的方法是什么? 我正在寻找一些等价于非常有用的Lutz Roeder .NET Reflector - Java
当前回答
这个罐子探索者足够好了。 支持三种反编译器类型:JD、Procyon和Fernflower。 允许在任何java存档中搜索文件和副本。 用户还可以通过D&D文件修改jar,并编辑一些非类文件。
其他回答
扩展Tom Hawtin的回答,你可以通过管道过滤出所需的类或文件:
Jar tf my-fat-jar-file.jar | grep文件名
这应该适用于bash/zsh和类似文件,或emacs的shell。
更多信息:https://docs.oracle.com/javase/tutorial/deployment/jar/view.html
我通常用7-Zip打开它们…它至少允许看到包、类和资源。 如果我需要看到方法或字段,我会使用Jad,但当然,最好依赖(好)JavaDoc…
现在,在SO的某个地方提到了一些Eclipse插件,为了找到一个类位于哪个jar文件中,也许它们可以做更多的事情(例如。你所要求的)。
[编辑]参考SO线程。不是问什么,但在某种程度上相关,因此有用:Java:我如何知道给定一个类名使用哪个jar文件?
使用JDK, jar -tf将列出jar中的文件。Javap将从特定的类文件中提供更多详细信息。
在Eclipse 3.4中
将jar文件拖到Java项目中。将出现jar文件的副本。 右键单击jar文件,并选择“构建路径”->“添加到构建路径”。 Jar文件被移动到“引用库”节点,可以在项目资源管理器窗格中打开和导航。
如果看到源代码也是一个问题,那就打开一个新的问题。
对于jar文件级别的导航(作为一个zip文件),我使用7zip,它工作得非常好,并且允许查看和编辑条目,这对于解决问题非常有用。
我更喜欢JAR浏览器,它有一个简单的界面,你可以浏览多个JAR,并同时在多个JAR中搜索特定的类。
推荐文章
- URL从Java中的类路径加载资源
- .toArray(new MyClass[0]) or .toArray(new MyClass[myList.size()])?
- Hibernate中不同的保存方法之间有什么区别?
- Java 8流和数组操作
- Java Regex捕获组
- Openssl不被视为内部或外部命令
- 如何添加自定义方法到Spring Data JPA
- 如何在Ubuntu中设置Java环境路径
- 无法执行dex:在Eclipse中超过GC开销限制
- 有人能解释一下JPA和Hibernate中的mappedBy吗?
- 是什么导致JNI调用变慢?
- Java中的&和&&有什么区别?
- 使用Java的Collections.singletonList()?
- Maven使用多个src目录编译
- 导入时无法解析符号