【问题标题】:Fernflower and IntelliJ IDEA's java-decompilerFernflower 和 IntelliJ IDEA 的 java-decompiler
【发布时间】:2017-02-13 07:56:12
【问题描述】:

我正在尝试弄清楚如何使用Fernflower Java 反编译器。

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

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

但是,没有fernflower.jar。我认为这是因为该功能已被合并到 java-compiler.jar 中,而 Fernflower README 根本没有在 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 是否停止支持基于命令行的反编译,或者我在这里遗漏了什么?

【问题讨论】:

    标签: java intellij-idea decompiler


    【解决方案1】:

    尝试手动调用主类org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler

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

    您还可以通过源代码中的查询找到更多关于IDEA内部Fernflower内部使用的信息 https://github.com/JetBrains/intellij-community/search?utf8=%E2%9C%93&q=Fernflower

    【讨论】:

    • 太好了,这行得通。 TIL 关于executable and non-executable JARs的区别。
    • 您也可以通过传递jar文件和文件夹而不是类文件来反编译它们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-23
    • 1970-01-01
    • 2016-10-15
    • 1970-01-01
    • 1970-01-01
    • 2013-04-23
    • 2019-09-01
    相关资源
    最近更新 更多