为什么要反编译:
我不熟悉git的某些操作,不知情的情况下把原项目文件删除了,突然想起我还有项目打成的jar包。打开后看到源文件都在,只是文件都是.class后缀,于是想到了反编译来恢复文件。
解决方案:
具体操作我参考的失忆老幺的网页操作,虽然没成功,但是还是帮了很大的忙。
Usage: java -jar fernflower.jar [-<option>=<value>]* [<source>]+ <destination>
Example: java -jar fernflower.jar -dgs=true c:\my\source\ c:\my.jar d:\decompiled\
尝试过程中这句提示帮我写对了命令
1、idea->file->settings->Plugins 点击右上角偏中间的Marketplace,搜索后安装。
2、找到插件的jar包E:\idea20200101\IntelliJ IDEA 2020.1.1\plugins\java-decompiler\lib\java-decompiler.jar
,正常情况去idea的安装路径下能找到类似路径,复制下该jar包的绝对路径
3、在命令行中执行命令
java -cp ?1 org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler ?2 ?3
//解释上述命令?1,?2,?3 均为占位使用,方便理解(都用的绝对路径,太长了,容易看花眼)
//?1:java-decompiler.jar的绝对路径
//?2:**-1.0-SNAPSHOT.jar(需要反编译的jar包)的绝对路径
//?3:反编译后jar包存放的文件夹的绝对路径
PS: 反编译后有些地方会有问题,需要更改后才能正常运行。