【问题标题】:How to decompile a jar into .java files from command prompt如何从命令提示符将 jar 反编译为 .java 文件
【发布时间】:2016-02-22 21:30:05
【问题描述】:

如何从命令提示符将 JAR(.class 二进制文件)反编译为 .java 源文件?

【问题讨论】:

  • 您需要为此找到一个 Java 反编译器。即使那样,它也不会与用于制作它的 .java 文件相同。编译是一条路。
  • 我尝试使用 JD 插件,但使用它我实际上可以查看 .class 文件。所以寻找将 .class jar 文件编译成 .java 文件,以便我可以将它们作为项目导入到我的 Eclipse 中并对其进行调试。
  • @Karuna 如果它不必是命令行,我相信 JD-GUI 可以选择导出源文件的 JAR,然后您可以取消 JAR。
  • 知道了,谢谢 immibis 和 resueman。

标签: java command-line command-prompt


【解决方案1】:

我发现jd-cmd 可以很好地完成这项工作,并且可以在多个文件的子文件夹中递归地工作。要在命令行上反编译一组文件,请运行以下命令:

  1. here下载JAR文件jd-cmd README.md file
  2. 创建输出 Java 文件所在的目录。
  3. 运行命令反编译文件:java -jar jd-cli.jar -od <my-output-folder> <my-input-folder>

【讨论】:

    【解决方案2】:

    2021年,命令行似乎更简单了:

    将target.jar反编译到jar_result文件夹,输出ALL级别的日志。

    $ jd-cli target.jar -od jar_result -g ALL
    

    【讨论】:

      【解决方案3】:

      JD-CMD GitHub 项目声称能够做到这一点。但是,我认识的大多数人都使用JD-GUI

      JD-Core 是一个从一个或多个“.class”文件重构 Java 源代码的库。 JD-Core 可用于恢复丢失的源代码并探索 Java 运行时库的来源。支持 Java 5 的新特性,例如注解、泛型或类型“枚举”。 JD-GUI 和 JD-Eclipse 包含 JD-Core 库。

      我应该包括在编译源文件时,变量赋值和这些变量的名称等内容会发生变化。类似地,语法糖变成了它实际上是什么(例如x += i变成了x = x + i)。

      【讨论】:

        猜你喜欢
        • 2012-03-12
        • 1970-01-01
        • 1970-01-01
        • 2016-07-21
        • 2011-04-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-27
        相关资源
        最近更新 更多