如何让Java Decompiler / JD / JD-Eclipse在Eclipse Helios中运行

2022-08-31 23:56:14

Java Decompiler(JD)通常被推荐为一个好的Java反编译器。JD-Eclipse是JD的Eclipse插件。

我在几台不同的机器上遇到了问题,无法运行插件。每当我尝试打开.class文件时,都会显示标准的“找不到源代码”编辑器,显示低级字节码反汇编,而不是您期望从反编译器获得的Java源代码输出。

http://java.decompiler.free.fr/?q=jdeclipse 中的安装文档还不错,但在故障排除时非常模糊。

打开这个问题来收集更多信息:在JD在Eclipse Helios中运行之前,您遇到了哪些问题?解决方案是什么?


答案 1

这是我遇到的东西:

1) RTFM 并安装安装文档顶部提到的“Microsoft Visual C++ 2008 SP1 可再发行组件包”。起初我错过了这一点,因为Helios指令在最后。

2) 在打开类文件之前,关闭所有打开的编辑器选项卡。否则,很容易从之前的尝试中获得过时的编辑器选项卡。

3) 在“Java 类文件编辑器”(而不是“Java 类文件查看器”)中打开类文件。使用上下文菜单中的“打开方式”以获取正确的编辑器。如果对结果感到满意,请将其设置为“文件关联”设置中的默认编辑器,在“窗口/首选项通用/编辑器/文件关联”中选择“*.class”以使用“Java 类文件编辑器”打开。

4)这个家伙建议从Helios更新站点安装Equinox SDK。我做到了,但我不确定这是否真的有必要。有人知道吗?

5) 如果您尝试查看的类文件位于 Eclipse Java 项目中,则它们需要位于项目的构建路径中。否则,异常(“不在构建路径中”)将显示在 Eclipse 错误日志中,并且反编译将失败。我将类文件作为库/类文件夹添加到构建路径中。

6)从Windows资源管理器中拖放类文件或使用文件/打开文件打开它...将不起作用。在我的测试中,我给出了一个“无法打开编辑器:类文件查看器无法处理给定的输入('org.eclipse.ui.ide.FileStoreEditorInput')”错误。无论如何,这可能是错误的编辑器,请参阅3)。

7)在插件基本运行后,由于未知原因,某些文件仍然不会反编译。在关闭所有选项卡,重新启动Helios并重试后,这消失了。


答案 2

为了让它在Eclipse Juno中工作 - 我必须做一些额外的步骤。

一般 -> 编辑器 -> 文件关联

  1. 选择“*.class”并将“类文件编辑器”标记为默认值
  2. 选择“*.class无源” -> 添加 -> “类文件编辑器” -> 将其设为默认值
  3. 重新启动日食

推荐