How to get Java Decompiler / JD / JD-Eclipse running in Eclipse Helios
通常建议将Java Decompiler(JD)作为一个很好的Java Decompiler。 JD-Eclipse是JD的Eclipse插件。
我在几台不同的计算机上遇到问题,无法运行插件。 每当我尝试打开.class文件时,都会显示标准的"未找到源"编辑器,显示低级字节码反汇编,而不是反编译器期望的Java源输出。
http://java.decompiler.free.fr/?q=jdeclipse中的安装文档还不错,但在进行故障排除时却相当模糊。
打开这个问题来收集更多信息:在Eclipse Helios中运行JD之前,您遇到了什么问题? 解决方案是什么?
这是我遇到的东西:
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,然后重试后,此信息消失了。
要使其在Eclipse Juno中工作-我不得不做一些附加步骤。
一般->编辑器->文件关联
JD-eclipse插件0.1.3只能反编译从类路径/构建路径可见的.class文件。
如果您的类位于.jar中,则可以将该jar作为另一个库添加到Build Path中。在Package Explorer中,浏览新库,然后在Class File Editor中打开该类。
如果要反编译文件系统上的任何类,则必须将其放置在适当的文件夹层次结构中,并且根文件夹必须包含在构建路径中。这是一个例子:
注意:如果someDir是项目的子文件夹,则可以跳过第2步(链接文件夹)并将其直接添加到"构建路径"。但这不起作用,如果它是Eclipse项目的编译器输出文件夹。
附言我希望我可以双击任何项目子文件夹中的任何.class文件,而无需将其放在类路径中...
我要做的简单的事情是:
在Eclipse中进入>窗口>首选项
(可选)在搜索框中输入"文件"以帮助修剪选项树。
转到常规>编辑器>文件关联。
单击" .class"类型。下面有2个编辑器,我单击"类文件编辑器"-一个带有JD图标的编辑器,然后单击右侧的"默认"按钮。
做完了
现在,您的所有班级都属于我们。
我正在使用Eclipse 3.7 Indigo和Windows 7 64位:
我所做的是按照网站的建议并通过@Universalspezialist提醒安装Microsoft Visual C ++ 2008 SP1可再发行组件包。
然后按照站点中所述安装插件:http://java.decompiler.free.fr/?q=jdeclipse
转到首选项,然后找到"文件关联"
单击* .class,然后将" class File Editor"设置为默认值。
重新启动Eclipse? (我这样做了,但是我不确定是否有必要)
即使在Spring工具套件(STS)中,它也适用于所有版本的eclipse。
这是步骤
前往URl
按照链接下载或单击以下链接直接下载
点击这里下载
下载
下载并解压缩JD-Eclipse更新站点,
启动Eclipse,
单击"帮助>安装新软件...",
单击按钮"添加..."以添加新的存储库,
输入" JD-Eclipse更新站点",然后选择本地站点目录,
选择提取的文件夹并命名。我给出了
然后单击
选中" Java Decompiler Eclipse插件",
接下来,接下来,下一步...,然后重新启动Eclipse。
在对Juno,Kepler和Luna进行测试之后,我发现JD仅适用于构建路径上的* .class文件。
Eclipse 3.x和4.x版的JAD Decomplier插件。
更新站点:http://feeling.sourceforge.net/update
脚步:
我改用jadeclipse,因为它无法在3.6 / 3.7 eclipse中使用
更新网站
http://webobjects.mdimension.com/jadclipse/3.6/
安装
http://5thcross.wordpress.com/2009/05/20/installing-jadclipse-in-eclipse/
如果您需要反编译独立的jar,请尝试由同一位指导者(JD-Eclipse)的JD-GUI。它是一个独立的应用程序(不需要Eclipse)。它可以同时打开* .class和* .jar文件。足够有趣的是,它需要安装.Net(确实是JD-Eclipse),但其他方面却很有吸引力。
在这里找到:
http://jd.benow.ca/
问候,
启动Eclipse,
单击"帮助>安装新软件...",
单击按钮"添加..."以添加新的存储库,
输入" JD-Eclipse更新站点",然后选择本地站点目录,
选中" Java Decompiler Eclipse插件",
接下来,接下来,下一步...,然后重新启动Eclipse。
我进行了步骤1、2、3和7。然后将包含类文件的文件夹放在项目构建路径中(右键单击,属性,java构建路径,库,添加类文件夹,创建新文件夹,高级>> ,链接到文件系统中的文件夹,浏览等),然后重新启动eclipse。
在Eclipse中添加Java Decompiler的步骤:
只需从JD页面下载该站点。我能够从本地站点的eclipse软件版本中进行安装。