在学习和开发JAVA项目中,我们经常会用到第三方提供的一些jar。使用这些第三方工具包,可以提高我们开发的效率,缩短开发的时间。有的第三方工具,提供具体的使用说明和源代码,有时有的却不提供源代码,使用说明也不是很具体,这对我们使用就非常不方便。

  有道是,知其然才知其所以然。有时候,我们必须读取jar里的打包的类。而有时还有可能要对它进行小量修改,使之适用于自己的需求。

一、准备

  Java反编译工具:

  JD-GUI:http://jd.benow.ca/

  

  解压工具:

  WinRAR

二、反编译

  1、使用WinRAR解压工具将Jar包解压到指定位置。

  2、使用Java反编译工具JD-GUI将.class文件反编译为Java文件。

  3、将反编译后的Java文件设为项目的源文件目录。将jar,及jar所需要的其它lib,作为libraries加入项目中,这样可以保证我们的Java文件可以编译。

  4、通过反编译的Java文件,可能还有错误,不能编译通过,在不影响作者原始意图的前提下,我们必须对它进行小量修改,保证可编译通过。保证Java文件可以编译通过后,我们再在其基础上进行修改,使之符合自己的需求。

  5、编译修改后的java文件,注重的是,最好只编译修改的单个java文件。编译完成后,我们进行测试,保证修改无误。因为JVM会先找寻classes目录下的class文件,并率先加入,这样我们修改编译后的class文件,便是测试时使用的class文件。重复这个过程,直至java达到我们的目的。

  不需要在命令行编译,将项目反编译成.java后将整个工程导入到Eclipse中,直接在Eclipse中查看.class文件

  6、Jar打包
  将修改生成后的class文件,替换我们将jar解压缩目录下的相应class文件,重新打包生成jar。
  我们可以使用jar命令进行打包(进入目录后执行jar -cvf manageRC.jar)亦可以使用WinRAR工具进行打包。使用WinRAR工具打包时,要注重选择压缩文件格式为zip,并将生成的压缩包文件的后缀名设置为jar。
  替换原来的jar。再进行最后一次测试。

最新文章

  1. S3C2440 裸机程序之音频
  2. Linux基础命令介绍七:网络传输与安全 wget curl rsync iptables
  3. [python] python 中的" "和' '都是完全转义
  4. 小巧方便的MVC后端验证码,供大家学习借鉴
  5. Inspector a ProgressBar(定制属性面板)
  6. What are Upgrade, Product and Package Codes used for? By pusu
  7. HDOJ(HDU) 2090 算菜价(简单水题、)
  8. mac terminal的使用技巧
  9. 合理设计C代码 函数笔记
  10. std::list 源代码解析
  11. spring 运行时属性值注入
  12. 基于Web在线考试系统的设计与实现
  13. PHP 经典有趣的算法收集(面试题)
  14. iptables实现--kafka限制ip地址访问
  15. gps 经纬度 转换实际距离
  16. Java判断字符串是否有重复
  17. 强化学习3-蒙特卡罗MC
  18. Java内存泄漏简单说明
  19. opencv学习笔记之cvSobel 函数解析
  20. Future Works on P4

热门文章

  1. js使用经验之谈
  2. Building an FTP Test Plan
  3. DATEDIFF() 返回2个日期之间的间隔
  4. Python学习之:pycharm配置
  5. [nowcoder]再编号
  6. CentOS 7安装Xfce和VNC
  7. Mybatis plus 高级
  8. HUE中oozie执行shell
  9. WebUploader 解决文件多次上传和删除上传文件的问题
  10. Permutations,全排列