- 利用IDEA反編譯jar包(idea需要安裝插件Java Bytecode Decomplier)
- 在需要編譯的jar包的目錄下,打開命令行界面,輸入以下命令:
java -cp "D:\soft\IntelliJ IDEA 2020.2.3\plugins\java-decompiler\lib\java-decompiler.jar" org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler -dgs=true hive-exec-3.1.0.3.1.0.0-78.jar mysrc
其中的java-decompiler.jar路徑跟你自己的安裝路徑有關
4、命令執行完成之后會在您所指定的目錄如mysrc中生成的打包好的源碼,一般是jar格式的壓縮文件,可以進行解壓查看。
說明:
1、mysrc目錄需要存在,不存在會報錯。
2、一開始使用的非商業版本的IDEA下面的jar包,報版本不一致異常,這個應該是idea生成Bytecode的java版本與目前的jar使用的java版本不一致
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)
后面是使用的商業版本的Bytecode jar包解決了問題
借鑒:
https://blog.csdn.net/u013279563/article/details/89556869
https://blog.csdn.net/u014042372/article/details/103137821