如何将Java库的内容转储到控制台?

时间:2011-08-24 01:06:18

标签: java scala command-line console

是否有用于将库或JAR文件的内容转储到控制台的工具?

我正在寻找DUMPBIN /SYMBOLS的Java版本,它适用于Windows本机模式库。使用C#和.NET的其余部分,有许多可视化工具,如.NET Reflector 和Visual Studio中内置的对象浏览器。总而言之,我更喜欢命令行工具,但我会感激任何有效的方法:)

(我刚开始使用Windows上的Java和Scala。)

5 个答案:

答案 0 :(得分:11)

您正在寻找的命令是:

jar tf <jarfilename>

答案 1 :(得分:6)

您可以解压缩JAR文件(jar xf my.jar)以查看内容;如果您想在代码中执行此操作,java.util.jar中有一些工具可用于处理JAR文件。

或者,如果您知道包层次结构的一部分,则可以在Scala REPL中键入部分包,然后单击选项卡以获取有效完成列表。例如:

scala> java.util.jar.   <-- hit tab here
Attributes              JarEntry                JarException            
JarFile                 JarInputStream          JarOutputStream         
JarVerifier             JavaUtilJarAccessImpl   Manifest                
Pack200                 

然而,如果没有API文档,很难弄清楚如何使用它。您的第一步应该是尝试查找文档并查看它们。

答案 2 :(得分:3)

如果您知道班级名称:

$ javap -classpath jarfile some.package.in.that.jarfile.ClassName

此外,您可以“脚本化”它,以便它遍历jar文件中的所有类并为每个类运行javap

答案 3 :(得分:1)

另请注意,JAR文件只是一个压缩文件,因此任何ZIP实用程序都可以。大多数IDE都可以在您添加到项目中的JAR库中进行探索(例如Eclipse)。

答案 4 :(得分:0)

如上所述,JAR文件是ZIP文件,可以用同样的方式提取。

要浏览JAR文件中的类,我建议您使用IDE。将JAR文件作为库依赖项添加到项目中,然后您应该能够浏览类和方法。

如何获取JAR文件的源代码(如果可能的话)?