教你如何规避性的修改jar源码

上周做了一个扩展原有jar功能的方法,在这里做个一记录;

业务是这样的: 引用一个功能jar包,但奈何发现这个功能jar没有多图上传的功能, 网上搜索可以新增一个方法: 链接地址: http://blog.youkuaiyun.com/zhuhai__yizhi/article/details/41959309 ; 但文章并没有提供如何改源码的问题; 因为不能修改class文件,也有想通过继承该类来实现扩展的功能,但想到继承的子类,在源码文件中是不会被源码调用的,万一存在其他地方关联引用呢,所以行不通;然后我就做了一个规避不能修改class文件,成功替换了源码编译文件的方法,达到修改源码的作用;

1.拿一个正常的jar (xutils-2.6.14.jar)

  1. 解压出来 ,获取需要修改的classes文件 (记录一下该classes内容)

  2. 删除该classes文件,并重新打包.zip文件,修改文件后缀名为.jar (缺省jar xutils-2.6.14.jar)

  3. 在本地创建文件类(纯复制原删除classes反编译文件内容,与删除的classes文件命名等全部内容一致),并在项目工程内引用缺省jar;

5.然后在新建文件类中创建新方法 ;

6.拿到新建文件类的编译文件, 重新解压缺省jar,并放入缺省jar中;

  1. 重新打包且修改后缀名为.jar (一个全新的jar诞生了)

修改jar源码完毕 注意点: 1.反编译class文件偶尔会产生特殊无关字符,需手动删除 2. 新建类,必须源码文件一致

转载于:https://my.oschina.net/java1314/blog/774611

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值