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

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

我有几个不同的机器上的问题,让插件运行。 每当我尝试打开一个.class文件时,标准的“Source not found”编辑器将显示,显示低级字节码反汇编,而不是您期望从反编译器的Java源输出。

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

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

这是我碰到的东西:

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

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

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

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

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

6)从Windows资源pipe理器拖放一个类文件或打开文件/打开文件…将无法正常工作。 在我的testing中,我给出了“无法打开编辑器:类文件查看器无法处理给定的input('org.eclipse.ui.ide.FileStoreEditorInput')”。 错误。 反正这可能是错误的编辑器,见3)。

7)获得插件基本上运行后,一些文件仍然不会反编译原因不明。 在closures所有选项卡后,重新启动Helios并重试。

为了使它在Eclipse Juno中工作 – 我不得不做一些额外的步骤。

一般 – >编辑 – >文件关联

  1. select“* .class”并将“Class File Editor”标记为默认值
  2. select“* .class without source” – >添加 – >“类文件编辑器” – >将其设置为默认值
  3. 重新开启eclipse

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

我所做的就是按照网站build议安装Microsoft Visual C ++ 2008 SP1可再发行组件包,并由@Universalspezialist提醒。

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

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

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

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

如果你的类驻留在一个.jar中 ,你可以简单地把这个jar添加到构buildpath作为另一个库。 从包资源pipe理器浏览您的新库,并在类文件编辑器中打开类。

如果要反编译文件系统上的任何类 ,它必须驻留在相应的文件夹层次结构中,并且根文件夹必须包含在构buildpath中。 这里是一个例子:

  1. 类是… / someDir / foo / bar / MyClass.class中的 foo.bar.MyClass
  2. 在您的Eclipse项目中,添加一个任意名称为aClassDir的文件夹,该文件链接到… / someDir。
  3. 将该链接的文件夹添加到项目的“生成path”中。
  4. 使用“导航器视图”浏览并打开“类文件编辑器”中的.class文件。 (注意:文件系统上的Plain .class文件隐藏在Package Explorer视图中。)

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

PS我希望我可以双击任何项目子文件夹中的任何.class文件,而不需要在类path中。

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

进入eclipse>窗口>首选项

(可选)在search框“文件”中键入以帮助修剪选项树。 去了General> Editors>文件关联。

点击“.class”types。 下面有两位编辑,我点击了“Class File Editor” – 一个带有JD图标的编辑器,点击右边的“Default”button。

完成。 现在所有的class级都属于我们。

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

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

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

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

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

脚步:

  1. 打开Eclipse IDE。
  2. 点击帮助 – >安装新软件
  3. 粘贴到URL上面,并将名称命名为JAD。
  4. selectEclipse类反编译器
  5. 点击Next并接受协议
  6. 安装它。
  7. 重新启动Eclipse并立即检查。

如果您需要反编译独立jar,请使用(JD-Eclipse的)相同的autor来尝试JD-GUI。 这是一个独立的应用程序(不需要日食)。 它可以打开* .class和* .jar文件。 有趣的是,它需要安装.Net(就像JD-Eclipse一样),但除此之外就像一个魅力。

在这里find它:

http://jd.benow.ca/

问候,

我做了1,2,3和7的步骤,我把类文件的文件夹放在项目的构buildpath(右键单击,属性,Java构buildpath,库,添加类文件夹,创build新文件夹,高级>> ,链接到文件系统中的文件夹,浏览…),然后重新启动eclipse。

在Juno,Kepler和Lunatesting之后,我发现JD只能用于构buildpath上的* .class文件

  1. 将jar添加为现有项目的lib
  2. 转到首选项 – >常规 – > Class File Editor >文件关联,将*.class without source Class File Editor *.class without source文件设置为Class File Editor

在Eclipse中添加Java Decompiler的步骤:

  1. 打开Eclipse IDE。
  2. 点击Help-> Eclipse Marketplace Wizard
  3. 在“search”选项卡中findJD(JD是关键字以获取Eclipse类反编译器)
  4. selectEclipse类反编译器
  5. 点击安装。
  6. 重新启动Eclipse并检查

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

转到URl 关注下载链接或点击下面的链接直接下载点击这里下载

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

启动Eclipse,

点击“帮助>安装新软件…”,

点击button“添加…”添加一个新的存储库,

input“JD-Eclipse更新站点”并select本地站点目录,

在这里输入图像说明

select提取的文件夹并给出任何名称。 我给了JDA 。 并点击确定。

在这里输入图像说明

选中“Java Decompiler Eclipse Plug-in”,

在这里输入图像说明

接下来,接下来…并重新启动Eclipse。

只需从JD页面下载该网站即可。 我能够从eclipse的isntalled软件部分的本地站点进行安装。