命令:
C:\Program Files\Java\JDK1.7\jdk1.7.0_67\bin>jad -o -8 -r -dD:/output2/src -sjava D:\companycode\abc\WEB-INF\classes\com\sendinfo\**\*.class
解释:
1.\**\表示sendinfo文件夹下的所有文件,不限层级的文件夹,有多少层就扫描多少层。*.class表示所有class后缀的文件。
sendinfo\**\*.class
2.jad -o -8 -r -dXXXXX -sjava XXXXX
-o: 覆盖写,如果文件已经存在,则覆盖
-r: 建立和java包一致的文件夹路径
-dXXXX: 反编译后保存路径,如 D:/output/src
-sjava: 反编译后的文件后缀名,我们希望是.java文件
-8: 避免反编译时将中文编译为unicode,必不可少。
注意:路径中不要有中文,否则会出现错误,JavaClassFileReadException: can't open input file on `D:\XXXXXX'
注意:会丢失注解 ,比如@XmlAttribute,@Autowired等等,全部缺失。表示很无赖
补充:
使用方法:
[1] 反编译一个class文件:jad example.class,会生成example.jad,用文本编辑器打开就是java源代码
[2] 指定生成源代码的后缀名&