如何使用javap工具在jar文件中打印类结构?

2022-09-02 02:50:07

我想使用javap工具列出jar中类文件的方法。我如何做到这一点,以便它列出jar中所有类文件的方法和成员。现在,我一次只能上一节课。

我期待这样的事情,如果我说

javap java.lang.*

它应该在java.lang包中登记所有类的方法和成员。如果javap不能做到这一点,那么有没有这样的工具可用?


答案 1
#!/bin/bash
# Set the JAR name
jar=<JAR NAME>
# Loop through the classes (everything ending in .class)
for class in $(jar -tf $jar | grep '.class'); do 
    # Replace /'s with .'s
    class=${class//\//.};
    # javap
    javap -classpath $jar ${class//.class/}; 
done

答案 2

更容易的是

JAR=<path to jarfile> \
javap -classpath $JAR $(jar -tf $JAR | grep "class$" | sed s/\.class$//)

推荐