查看jar文件中的类、方法、属性等最简单的方法是什么? 我正在寻找一些等价于非常有用的Lutz Roeder .NET Reflector - Java
当前回答
大多数人都正确地回答了这个问题,如果你甚至不知道你的jar路径在哪里,或者你的JDK路径在每台主机上都不一样,这里有一个linux解决方案
$(find / -type f -name "jar" 2>&1 |grep '/JDK' |head -1 ) tf FULLY_QUALIFIED_NAME_TO_YOUR_FILE
其他回答
如果我理解正确的话,您不仅希望看到类,还希望看到方法、属性等等。我所知道的唯一可以做到这一点的工具是Eclipse——如果您将一个jar添加到项目类路径中,您将能够使用通常的包资源管理器浏览它的类的方法和属性。
无论如何,这对于一个优秀的独立Java工具来说是一个好主意
我通常用7-Zip打开它们…它至少允许看到包、类和资源。 如果我需要看到方法或字段,我会使用Jad,但当然,最好依赖(好)JavaDoc…
现在,在SO的某个地方提到了一些Eclipse插件,为了找到一个类位于哪个jar文件中,也许它们可以做更多的事情(例如。你所要求的)。
[编辑]参考SO线程。不是问什么,但在某种程度上相关,因此有用:Java:我如何知道给定一个类名使用哪个jar文件?
这个罐子探索者足够好了。 支持三种反编译器类型:JD、Procyon和Fernflower。 允许在任何java存档中搜索文件和副本。 用户还可以通过D&D文件修改jar,并编辑一些非类文件。
一种方法是在“Package explorer”中打开透视图。这样做,您可以看到带有类详细信息的jar的结构。为此,使用包资源管理器检查项目中的库文件夹。
窗口>>视图>>另一个>>Java>>Package Explorer
另一种方法是,您可以将JarPlug作为eclipse插件使用。这在eclipse/springsource中工作
http://jar-plug.sourceforge.net/
如果你在windows和使用powershell,你正在寻找一个文件在一个jar,你可以这样做:
jar -tf .\[JAR_NAME] | where {$_ -match "[FILENAME]"}
推荐文章
- 在流中使用Java 8 foreach循环移动到下一项
- 访问限制:'Application'类型不是API(必需库rt.jar的限制)
- 用Java计算两个日期之间的天数
- 如何配置slf4j-simple
- 在Jar文件中运行类
- 带参数的可运行?
- 我如何得到一个字符串的前n个字符而不检查大小或出界?
- 我可以在Java中设置enum起始值吗?
- Java中的回调函数
- c#和Java中的泛型有什么不同?和模板在c++ ?
- 在Java中,流相对于循环的优势是什么?
- Jersey在未找到InjectionManagerFactory时停止工作
- 在Java流是peek真的只是调试?
- Recyclerview不调用onCreateViewHolder
- 将JSON字符串转换为HashMap