首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Eclipse Helios中运行Java Decompiler / JD / JD-Eclipse

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

Stack Overflow用户
提问于 2010-12-23 01:50:58
回答 15查看 196.6K关注 0票数 46

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

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

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

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

EN

回答 15

Stack Overflow用户

回答已采纳

发布于 2010-12-23 02:07:54

这是我遇到的东西:

1) RTFM,并安装安装文档顶部提到的"Microsoft Visual C++ 2008 SP1 Redistributable Package“。我一开始没有看到这一点,因为Helios的说明在最后。

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

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

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

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

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

7)在插件基本运行后,由于未知的原因,一些文件仍然无法反编译。在关闭所有选项卡、重新启动Helios并重试后,此信息将消失。

票数 37
EN

Stack Overflow用户

发布于 2013-04-10 20:23:38

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

常规->编辑器->文件关联

  1. 选择"*.class“并将”类文件编辑器“标记为默认
  2. 选择”没有源代码的*.class“->添加->”类文件编辑器“-> Make it as eclipse
票数 18
EN

Stack Overflow用户

发布于 2012-06-14 22:00:48

JD-eclipse插件0.1.3只能对类路径/构建路径中可见的.class文件进行反编译。

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

如果您想反编译文件系统上的任何类,它必须驻留在适当的文件夹层次结构中,并且根文件夹必须包含在构建路径中。下面是一个示例:

Eclipse is .../someDir/foo/bar/MyClass.class

  • In in 你的
  1. 项目中,添加一个任意名称为foo.bar.MyClass的文件夹,它链接到.../。
    1. 将链接文件夹添加到项目的生成路径中。
    2. 使用导航器视图在类文件编辑器中导航并打开.class文件。(注意:文件系统上的纯.class文件在Package Explorer视图中隐藏。)

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

附言:我希望我可以双击任何项目子文件夹中的任何.class文件,而不需要将它放在类路径中……

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4512066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档