当前位置: 首页 > 面试题库 >

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

燕钟展
2023-03-14
问题内容

通常建议将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,然后重试后,此信息消失了。



 类似资料:
  • jd-eclipse 是 Eclipse 的一个用来对 Java 进行反编译的插件,基于 Java Decompiler 开发。 安装: Build or download & unzip "jd-eclipse-site-x.y.z.zip", Launch Eclipse, Click on "Help > Install New Software...", Click on button "

  • JD-GUI 是一个用 C++ 开发的 Java 反编译工具,由 Pavel Kouznetsov开发,支持Windows、Linux和苹果Mac Os三个平台。而且提供了Eclipse平台下的插件JD-Eclipse

  • 京东开源的基于Dubbo的调用跟踪系统 类似于Google的Dapper、类似于twitter的Zipkin、类似于淘宝的EagleEye。

  • JD-hotkey 是京东 APP 后台热数据探测框架,历经多次高压压测和 2020 年京东 618 大促考验。在上线运行的这段时间内,每天探测的key数量数十亿计,精准捕获了大量爬虫、刷子用户,另准确探测大量热门商品并毫秒级推送到各个服务端内存,大幅降低了热数据对数据层的查询压力,提升了应用性能。 该框架历经多次压测,8核单机worker端每秒可接收处理16万个key探测任务,16核单机至少每秒

  • JD eSurvey 是一个由 JD Software(地址https://www.jdsoft.com/) 基于Java spring 框架 上开发的 问卷调查 web系统。 特性:分页、以及随机排序问卷、支持视频问卷 软件截图: 详情请看:https://github.com/JD-Software/JDeSurvey

  • JD-Core 是 Java 反编译开发包,基于这个开发包有一个 GUI 的项目 jd-gui 和一个 Eclipse 插件项目 jd-eclipse 。 编译 jd-core 的方法: > git clone https://github.com/java-decompiler/jd-core.git> cd jd-core> ./gradlew build 使用方法: 实现 jd.core.l