如何在Eclipse Helios中运行Java demompiler / jd / jd-ceclipse
-
12-10-2019 - |
题
通常建议使用Java分解器(JD)作为良好的Java分解器。 JD-Eclipse是JD的Eclipse插件。
我在几台不同的机器上遇到了问题,以使插件运行。每当我尝试打开一个.class文件时,标准的“找不到”编辑器将显示,显示Lowlevel字节码拆卸,而不是您期望从分解器中期望的Java源输出。
安装文档中 http://java.decompiler.free.fr/?q=jdeclipse 在故障排除方面还不错,但很含糊。
打开此问题以收集其他信息:在JD在Eclipse Helios运行之前,您遇到了什么问题?解决方案是什么?
解决方案
这是我遇到的东西:
1)RTFM并安装安装文档顶部提到的“ Microsoft Visual C ++ 2008 SP1重新分布软件包”。我一开始错过了这一点,因为Helios的说明是最后的。
2)在打开类文件之前关闭所有打开的编辑选项卡。否则,很容易从先前的尝试中获得过时的编辑选项卡。
3)在“ Java类文件编辑器”中打开类文件(不是“ Java类文件查看器”)。在上下文菜单中使用“打开”以获取正确的编辑器。如果对结果感到满意,请在文件关联设置中将其作为默认编辑器,在窗口/偏好/preferement/editors/file soopsociations中选择 *.class以使用“ Java Class File Editor”打开。
4) 这家伙 建议从Helios Update网站安装Equinox SDK。我做到了,但是我不确定这是否真的有必要。有人知道吗?
5)如果您要查看的类文件在Eclipse Java项目中,则需要在项目的构建路径中。否则,将在Eclipse错误日志中显示异常(“不在构建路径”),并且反编译将失败。我将类文件作为库 /类文件文件夹添加到构建路径。
6)从Windows Explorer拖动/删除类文件或使用文件/打开文件打开它...将行不通。在我的测试中,我给出了一个“无法打开编辑器:类文件查看器无法处理给定输入('org.eclipse.ui.ide.filestoreeditorInput”)。错误。无论如何,这可能是错误的编辑器,请参见3)。
7)基本上运行插件后,由于未知原因,某些文件仍然不会反编译。关闭所有标签,重新启动Helios并重新尝试后,这消失了。
其他提示
为了使其在Eclipse Juno中起作用 - 我必须采取一些其他步骤。
通常 - >编辑器 - >文件关联
- 选择“*.class”和标记“类文件编辑器”为默认
- 选择“*。
- 重新启动日食
我正在使用Eclipse 3.7 Indigo和Windows 7 64位:
我所做的是按照网站建议安装Microsoft Visual C ++ 2008 SP1 Repistributable软件包,并由@universalsalspezialist提醒。
然后按照网站所述安装插件: http://java.decompiler.free.fr/?q=jdeclipse
转到首选,然后查找“文件关联”单击 *.class,然后将“类文件编辑器”设置为默认值。
也许重启日食? (我这样做了,但我不确定是否有必要)
我为使它工作所做的简单事情:
进入日食>窗口>首选项
(可选)在搜索框“文件”中键入以帮助修剪选项树。转到常规>编辑器>文件关联。
单击“ .class”类型。下面有2个编辑器,我单击了“类文件编辑器” - 一个带有JD的图标的编辑器,单击右侧的“默认”按钮。
完毕。现在,您的所有课程都属于我们。
JD-Eclipse插件0.1.3只能 从classpath/build Path可见的epcompile .class文件.
如果你的 班级居住在.jar, ,您可以简单地将此罐子添加到构建路径中,作为另一个库。从包装Explorer浏览您的新库,然后在类文件编辑器中打开类。
如果您想反编译 文件系统上的任何类, ,它必须位于适当的文件夹Hierachy中,并且必须将根文件夹包括在构建路径中。这是一个示例:
- 班级是foo.bar.myclass在.../syedir/foo/bar/myclass.class
- 在您的Eclipse项目中,添加一个带有任意名称AclassDir的文件夹,该文件夹链接到.../某种程度上。
- 将链接文件夹添加到项目的构建路径。
- 使用Navigator视图在类文件编辑器中导航并打开.class文件。 (注意:文件系统上的普通.CLASS文件隐藏在软件包Explorer视图中。)
注意:如果某种程序是项目的子文件夹,则可以跳过步骤2(链接文件夹)并将其直接添加到构建路径中。但这是不起作用的,如果它是Eclipse项目的编译器输出文件夹。
ps我希望我只能双击任何项目子文件夹中的任何.class文件,而无需在classpath中将其放置...
我改用Jadeclipse,因为它无法在3.6/3.7 Eclipse中使用
更新站点http://webobjects.mdimension.com/jadclipse/3.6/
插件http://5thcross.wordpress.com/2009/05/20/installing-jadclipse-in-eclipse/
Eclipse的Jad Decomplier插件 版本3.x和4.x。
更新站点: http://feeling.sourceforge.net/update
脚步:
- 开放日食IDE。
- 单击帮助 - >安装新软件
- 粘贴在URL上方,名字叫Jad。
- 选择Eclipse类的分解器
- 单击下一步并接受协议
- 安装它。
- 重新启动日食并立即检查。
在对Juno,Kepler和Luna进行测试之后,我发现JD仅适用于 *.class文件在构建路径上.
- 将罐子添加为现有项目的自由
- 转到首选项 - >常规 - >编辑器 - >文件关联,设置
*.class without source
至Class File Editor
带有杯子图标
如果您需要对独立罐子进行反编译,请尝试使用同一自动(JD-Eclipse)的JD-GUI。这是一个独立的应用程序(不需要Eclipse)。它可以打开 *.class和 *.jar文件。有趣的是,它需要.NET安装(JD-Eclipse也是如此),但否则可以像魅力一样工作。
在这里找到它:
问候,
我制作了步骤1、2、3和7。我将文件夹放在项目构建路径中(右键单击,属性,Java构建路径,库,库,添加类文件夹,创建新文件夹,高级>>) ,链接到文件系统中的文件夹,浏览,...)然后重新启动日食。
在Eclipse中添加Java分解器的步骤:
- 开放日食IDE。
- 单击帮助 - >Eclipse Marketplace向导
- 在搜索选项卡中找到JD(JD是获得Eclipse类epompiler的关键字)
- 选择 Eclipse类的分解器
- 单击安装。
- 重新启动日食并检查
只需从JD页面下载网站即可。我能够从Eclipse的ISNTALLED软件部分中的本地站点安装。
- 下载JD-Eclipse Update网站(github.com/java-decompiler/jd-eclipse)
发射Eclipse,
单击“帮助>安装新软件...”,
单击按钮“添加...”添加新存储库,
输入“ JD-Eclipse Update站点”,然后选择本地站点目录,
检查“ Java分解器Eclipse插件”,
接下来,接下来,接下来...并重新启动日食。