46

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

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

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

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

4

15 回答 15

37

这是我遇到的东西:

1) RTFM 并安装安装文档顶部提到的“Microsoft Visual C++ 2008 SP1 Redistributable Package”。起初我错过了这一点,因为 Helios 的说明在最后。

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

3) 在“Java Class File Editor”(不是“Java Class File Viewer”)中打开类文件。使用上下文菜单中的“打开方式”来获得正确的编辑器。如果对结果满意,请将其设置为文件关联设置中的默认编辑器,在 Window/Preference General/Editors/File Associations 中选择 *.class 以使用“Java Class File Editor”打开。

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

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

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

7) 插件基本运行后,部分文件仍无法反编译,原因不明。这在关闭所有选项卡、重新启动 Helios 并重试后消失了。

于 2010-12-22T18:07:53.723 回答
18

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

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

  1. 选择“*.class”并将“类文件编辑器”标记为默认
  2. 选择“*.class without source” -> 添加 -> “类文件编辑器” -> 设为默认
  3. 重启日食
于 2013-04-10T12:23:38.133 回答
9

JD-eclipse 插件 0.1.3 只能反编译从 classpath/Build Path 可见的 .class 文件

如果您的类位于 .jar中,您可以简单地将这个 jar 作为另一个库添加到构建路径中。从 Package Explorer 浏览您的新库并在 Class File Editor 中打开该类。

如果要反编译文件系统上的任何类,它必须位于适当的文件夹层次结构中,并且根文件夹必须包含在构建路径中。这是一个例子:

  1. 类是 .../someDir/ foo/bar/MyClass.class中的 foo.bar.MyClass
  2. 在您的 Eclipse 项目中,添加一个具有任意名称 aClassDir 的文件夹,该文件夹链接到 .../someDir。
  3. 将该链接文件夹添加到项目的构建路径中。
  4. 使用 Navigator View 在 Class File Editor 中导航并打开 .class 文件。(注意:文件系统上的普通 .class 文件隐藏在 Package Explorer 视图中。)

注意:如果 someDir 是您项目的子文件夹,您可以跳过第 2 步(链接文件夹)并将其直接添加到构建路径。但这不起作用,如果它是 Eclipse 项目的编译器输出文件夹。

PS我希望我可以双击任何项目子文件夹中的任何.class文件,而无需将它放在类路径中......

于 2012-06-14T14:00:47.973 回答
6

我正在使用 Eclipse 3.7 Indigo 和 Windows 7 64 位:

我所做的是按照站点的建议和@Universalspezialist 的提醒安装 Microsoft Visual C++ 2008 SP1 Redistributable Package。

然后按照站点中的说明安装插件: http://java.decompiler.free.fr/?q= jdeclipse

转到首选项,然后找到“文件关联”单击 *.class,然后将“类文件编辑器”设置为默认值。

也许重新启动Eclipse?(我这样做了,但我不确定是否有必要)

于 2011-08-10T13:17:26.433 回答
6

我做了简单的事情来让它工作:

进入 eclipse > Window > Preferences

(可选)在搜索框中键入“文件”以帮助修剪选项树。转到常规 > 编辑 > 文件关联。

单击“.class”类型。下面有 2 个编辑器,我点击了“类文件编辑器”——带有 JD 图标的那个,点击右侧的“默认”按钮。

完毕。现在你所有的班级都属于我们。

于 2012-02-25T16:48:22.030 回答
5

在对 Juno、Kepler 和 Luna 进行测试后,我发现 JD 仅适用于 build path 上的 *.class 文件

  1. 将 jar 添加为现有项目的库
  2. 转到首选项->常规->编辑器->文件关联,设置*.class without sourceClass File Editor带有杯子图标
于 2014-11-30T02:08:38.043 回答
5

即使在 Spring 工具套装(STS)中,它也应该适用于所有版本的 eclipse。这是步骤

前往网址 点击链接下载或点击下方链接直接下载 点击此处下载

下载JD-Eclipse. 下载并解压 JD-Eclipse 更新站点,

启动 Eclipse,

单击“帮助 > 安装新软件...”,

单击按钮“添加...”以添加新的存储库,

进入“JD-Eclipse更新站点”,选择本地站点目录,

在此处输入图像描述

选择提取的文件夹并提供任何名称。我给了JDA。并单击确定。

在此处输入图像描述

勾选“Java Decompiler Eclipse Plug-in”,

在此处输入图像描述

下一步,下一步,下一步……然后重新启动 Eclipse。

于 2017-09-01T07:40:57.663 回答
3

我改用 jadeclipse,因为它不能在 3.6/3.7 eclipse 中工作

更新站点 http://webobjects.mdimension.com/jadclipse/3.6/

安装http://5thcross.wordpress.com/2009/05/20/installing-jadclipse-in-eclipse/

于 2011-08-05T09:04:08.773 回答
3

Eclipse版本 3.x 和 4.x的 JAD Decompiler 插件。

更新站点: http: //feeling.sourceforge.net/update

脚步:

  1. 打开 Eclipse IDE。
  2. 点击帮助->安装新软件
  3. 粘贴上面的 URL 并将名称命名为 JAD。
  4. 选择 Eclipse 类反编译器
  5. 单击下一步并接受协议
  6. 安装它。
  7. 重新启动 Eclipse 并立即检查。
于 2013-11-19T10:59:01.490 回答
2

如果您需要反编译独立 jar,请尝试由同一作者(JD-Eclipse)的 JD-GUI。它是一个独立的应用程序(不需要 eclipse)。它可以打开 *.class 和 *.jar 文件。有趣的是,它需要安装 .Net(确实 JD-Eclipse 也是如此),但在其他方面就像一个魅力。

在这里找到它:

http://jd.benow.ca/

问候,

于 2015-06-05T15:31:01.000 回答
1

我做了步骤1、2、3和7。我把带有类文件的文件夹放在项目构建路径中(右键单击,属性,java构建路径,库,添加类文件夹,创建新文件夹,高级>> ,链接到文件系统中的文件夹,浏览,...)然后重新启动 Eclipse。

于 2011-12-06T22:28:07.553 回答
1
  1. 下载 JD-Eclipse 更新站点(github.com/java-decompiler/jd-eclipse
  2. 启动 Eclipse,

  3. 单击“帮助 > 安装新软件...”,

  4. 单击按钮“添加...”以添加新的存储库,

  5. 进入“JD-Eclipse更新站点”,选择本地站点目录,

  6. 勾选“Java Decompiler Eclipse Plug-in”,

  7. 下一步,下一步,下一步……然后重新启动 Eclipse。

于 2018-08-10T18:01:47.287 回答
0

只需从京东页面下载该网站。我能够从 Eclipse 安装软件部分的本地站点进行安装。

于 2012-11-09T14:52:45.157 回答
0

在 Eclipse 中添加 Java Decompiler 的步骤:

  1. 打开 Eclipse IDE。
  2. 单击帮助-> Eclipse 市场向导
  3. 在 Search 选项卡中找到 JD(JD 是获取 Eclipse 类反编译器的关键字)
  4. 选择Eclipse 类反编译器
  5. 单击安装。
  6. 重启 Eclipse 并检查
于 2017-07-02T09:00:52.320 回答
0

我使用 Intellij 或 Android Studio 都可以很好地用于反编译。在 FernFlower Decompiler 之后的内部 Intellij。 在此处输入图像描述

于 2022-01-06T08:07:43.313 回答