Eclipse下的Java反编译插件 查看源代码不再困难

Eclipse下的Java反编译插件:Eclipse Class Decompiler,整合了目前最好的2个Java反编译工具Jad和JD-Core,并且和Eclipse Class Viewer无缝集成,能够很方便的使用本插件查看类库源码,以及采用本插件进行Debug调试。
转载自:http://bbs.csdn.net/topics/390263414

下图为Eclipse Class Decompiler的首选项页面,可以选择缺省的反编译器工具,并进行反编译器的基本设置。缺省的反编译工具为JD-Core,JD-Core更为先进一些,支持泛型、Enum、注解等JDK1.5以后才有的新语法。

Eclipse下的Java反编译插件 查看源代码不再困难
首选项配置选项:
1.重用缓存代码:只会反编译一次,以后每次打开该类文件,都显示的是缓存的反编译代码。
2.忽略已存在的源代码:若未选中,则查看Class文件是否已绑定了Java源代码,如果已绑定,则显示Java源代码,如果未绑定,则反编译Class文件。若选中此项,则忽略已绑定的Java源代码,显示反编译结果。
3.显示反编译器报告:显示反编译器反编译后生成的数据报告及异常信息。
4.使用Eclipse代码格式化工具:使用Eclipse格式化工具对反编译结果重新格式化排版,反编译整个Jar包时,此操作会消耗一些时间。
5.使用Eclipse成员排序:使用Eclipse成员排序对反编译结果重新格式化排版,反编译整个Jar包时,此操作会消耗大量时间。
6.以注释方式输出原始行号信息:如果Class文件包含原始行号信息,则会将行号信息以注释的方式打印到反编译结果中。
7.根据行号对齐源代码以便于调试:若选中该项,插件会采用AST工具分析反编译结果,并根据行号信息调整代码顺序,以便于Debug过程中的单步跟踪调试。
8.设置类反编译查看器作为缺省的类文件编辑器:默认为选中,将忽略Eclipse自带的Class Viewer,每次Eclipse启动后,默认使用本插件提供的类查看器打开Class文件。

类反编译查看器右键菜单包含了Eclipse自带类查看器右键菜单的全部选项,并增加了一个”导出反编译源代码”菜单项。

Eclipse下的Java反编译插件 查看源代码不再困难

打开项目路径下的Class文件,如果设置类反编译查看器为缺省的查看器,直接双击Class文件即可,如果没有设置为缺省查看器,可以使用右键菜单进行查看。

Eclipse下的Java反编译插件 查看源代码不再困难

Eclipse Class Decompiler插件也提供了反编译整个Jar文件或者Java包的反编译。该操作支持Package Explorer对包显示布局的操作,如果是平铺模式布局,则导出的源代码不包含子包,如果是层级模式布局,则导出选中的包及其所有的子包。

Eclipse下的Java反编译插件 查看源代码不再困难

Debug调试:可以在首选项选中对齐行号进行单步跟踪调试,和普通的包含源代码时的调试操作完全一致,同样的也可以设置断点进行跟踪。

Eclipse下的Java反编译插件 查看源代码不再困难

Original: https://www.cnblogs.com/hoojo/archive/2013/04/12/3016516.html
Author: hoojo
Title: Eclipse下的Java反编译插件 查看源代码不再困难

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/537058/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • Gitee多分支提交被拒

    方法一首先 git log 查看commit记录, 找到远端本地冲突之前的commit git reset –soft [commitID] 1、git pull origin …

    Java 2023年6月8日
    051
  • JDK JRE JVM

    JDK JDK:Java Development Kit,Java 开发工具包。jdk 是整个 Java 开发的核心,它集成了 jre 和一些好用的小工具。例如:javac,jav…

    Java 2023年6月9日
    048
  • SSM整合_年轻人的第一个增删改查_新增

    前端格式校验、用户名校验、后端校验、JSR303校验 写在前面 SSM整合_年轻人的第一个增删改查_基础环境搭建SSM整合_年轻人的第一个增删改查_查找SSM整合_年轻人的第一个增…

    Java 2023年6月5日
    0121
  • 【设计模式】Java设计模式-桥接模式

    【设计模式】Java设计模式 – 桥接模式 😄 不断学习才是王道🔥 继续踏上学习之路,学之分享笔记👊 总有一天我也能像各位大佬一样🏆原创作品,更多关注我CSDN: 一个…

    Java 2023年6月16日
    080
  • Home Assistant接入HomeKit与简要介绍

    在HomeAssistant中接入HomeKit后可以使用iPad或iPhone的家庭App控制已接入HA的设备,如HA接入了很多小米智能家居设备,HA接入HomeKit后就可以使…

    Java 2023年6月16日
    084
  • 云原生系列1 pod基础

    成组资源调度问题的解决。 mesos采用的资源囤积策略容易出现死锁和调度效率低下问题;google采用的乐观调度技术难度非常大; 而k8s使用pod优雅的解决了这个问题。 pod的…

    Java 2023年6月8日
    074
  • [学习笔记] Java变量和常量

    根据变量指代的数据类型的不同, Java中的变量分为基本类型变量和引用类型变量。变量必须先声明后使用。声明格式: type为数据类型,identifier为变量名。若要同时声明多个…

    Java 2023年6月5日
    057
  • 常用Linux命令 reboot halt shutdown passwd vlock exit等

    1、重新启动和关闭系统: (1)reboot命令: 选项含义如下: -d :重新启动后,系统不向/var/tmp/wtmp文件中写入记录 -f :强制系统重新启动 -w :仅做测试…

    Java 2023年6月8日
    046
  • Java-函数式编程大全指南

    前言 这里总结记录一下,所有java中可以用到的函数式编程以及使用场景和方法 Original: https://www.cnblogs.com/houzheng/p/160163…

    Java 2023年5月29日
    065
  • Vue 两个字段联合校验典型例子–修改密码

    1、前言 本文是前文《Vue Element-ui表单校验规则,你掌握了哪些?》针对多字段联合校验的典型应用。 在修改密码时,一般需要确认两次密码一致,涉及2个属性字段。类似的涉及…

    Java 2023年6月14日
    090
  • k8s-Pod基础

    制作镜像 第一个pod 搭建Harbor仓库 重启策略 启动命令 pod基本命令 设置环境变量 数据持久化和共享-hostPath 数据持久化和共享-emptyDir JSON格式…

    Java 2023年6月8日
    064
  • 高速缓存一致性协议MESI与内存屏障

    CPU高速缓存机制的引入,主要是为了解决CPU越来越快的运行速度与相对较慢的主存访问速度的矛盾。CPU中的寄存器数量有限,在执行内存寻址指令时,经常需要从内存中读取指令所需的数据或…

    Java 2023年6月8日
    056
  • 7-枚举和注解

    枚举类的理解:类的对象只有有限个,确定的。我们称此类为枚举类 当需要定义一组常量时,强烈建议使用枚举类 如果枚举类中只一个对象,则可以作为单例模式的实现方式。 1.如何自定义枚举类…

    Java 2023年6月7日
    061
  • Mybatis配置解析(核心配置文件)

    4、配置解析 4.1、核心配置文件 Mybatis的配置文件包含了会深深影响mybatis行为的设置和属性信息 mybatis-config.xml properties(属性)重…

    Java 2023年6月13日
    0109
  • C#线程调度AutoResetEvent和ManualResetEvent区别

    共同点: 均继承 EventWaitHandle 接口,因此,均具有以下功能: Reset() //红灯 Set() //绿灯 WaitOne() // 等待信号 本质都是阻塞信号…

    Java 2023年5月29日
    057
  • SpringBoot整合MongoDB

    NoSQL(Not Only SQL),即反SQL运动或者是不仅仅SQL,指的是非关系型的数据库,是一项全新的数据库革命运动,是一种全新的思维注入 NoSQL优点 数据库高并发读写…

    Java 2023年6月13日
    073
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球