1、首先是idea需要安装插件Java Bytecode Decomplier,后续是利用该插件的包进行反编译。
目标的包在$IDEA_HOME\plugins\java-decompiler\lib\java-decompiler.jar,可以复制出来单独使用。
2、在需要编译的xxx.RELEASE.jar包的目录下,打开命令行界面,输入以下命令:
java -cp "$IDEA_HOME\plugins\java-decompiler\lib\java-decompiler.jar" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true xxx.RELEASE.jar xxxSource
其中xxxSource必须存在,指定生成源码目录。命令执行完会在该目录生成打包好的源码,一般是jar格式压缩的文件,可以解压查看
常见问题:
1、使用社区办IDEA下面的jar包,报版本不一致异常
java.lang.UnsupportedClassVersionError:
HelloWorld has been compiled by a more recent version of the Java Runtime (class file version 53.0), this version of the Java Runtime only recognizes class file versions up to 52.0 at java.lang.ClassLoader.defineClass1(Native Method) ...... ...... at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:495)
这个应该是idea生成Bytecode的java版本与目前的jar使用的java版本不一致
解决办法:
使用商用班的ByteCode.jar解决问题
使用较高版本的JDK执行该jar包,如jdk11
版权归原作者 迷途的小兵 所有, 如有侵权,请联系我们删除。