我想反编译许多目录中的 .class 文件,然后将每个文件的输出保存到同名文件(当然扩展名不同)。我试图设置类路径,但我收到一些错误,即找不到目录之一,但这是无稽之谈,所以我认为我做错了。(javap -classpath path/to/files/ -c *)。
我想使用 javap 来做,我不想使用库、程序等。问候。
这是解决方案:
javap -classpath yourjar.jar -c $(jar -tf yourjar.jar | grep class | sed 's/.class//g')
要保存到单独的文件:
for i in $(jar -tf yourjar.jar | grep class | sed 's/.class//g') ; do mkdir -p $(dirname $i) ; javap -cp yourjar.jar -c $i > $i.javap ; done