我想反编译许多目录中的.class文件,然后将每个文件的输出保存到具有相同名称(当然具有不同扩展名)的文件中。我试图设置类路径,但我收到一些错误,其中一个目录没有找到,但这是无稽之谈,所以我认为我做错了什么。(javap-classpath路径/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