2016-10-05 233 views
6

我想弄清楚如何使用Fernflower Java反編譯器。Fernflower和IntelliJ IDEA的java反編譯器

我可以在以下位置找到java-decompiler.jar

~/idea-IC-162.1628.40/plugins/java-decompiler/lib/java-decompiler.jar 

沒有fernflower.jar,但是。我認爲這是因爲功能被摺疊爲java-compiler.jar,並且Fernflower自述文件在2年內根本沒有更新。

當我跑不過下面:

java -jar ~/idea-IC-162.1628.40/plugins/java-decompiler/lib/java-decompiler.jar myclassfile.class . 

我得到

無主清單屬性,在/home//idea-IC-162.1628.40/plugins/java-decompiler /lib/java-decompiler.jar

IntelliJ停止支持基於命令行的反編譯,或者我在這裏丟失了什麼?

回答

9

嘗試調用主類org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler手動

java -cp java-decompiler.jar org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler myclassfile.class . 

您也可以找到更多關於內部IDEA源代碼 https://github.com/JetBrains/intellij-community/search?utf8=%E2%9C%93&q=Fernflower

+0

大Fernflower的內部使用的查詢,這個工程。 TIL關於[可執行和非可執行JAR]之間的區別(http://stackoverflow.com/a/9689868/864684)。 –