jarjar.jar解决jar包版本兼容问题
最近在做一个给excel添加水印的需求,需要用到新版poi,但是老版本的poi不能丢弃,因为word转html的功能是基于老版的poi的,因此只能对更改新版本poi的的package,笔者使用的是通过jarjar.jar实现的方式,不嫌麻烦的童学可以下载poi的源码jar包,解压后通过idea修改package再通过java -jar命令重新打包。
以下是笔者fastjson-1.2.38.jar与poi-3.14.jar的修改过程
编写rule.txt(替换规则)
rule com.alibaba.fastjson.** [email protected]
目录结构如下:
在当前目录下开启cmd,输入如下命令:
如果没有报错就说明是ok了,报错的话可以检查下java环境变量是否配置好了。
通过winrar打开生成的fkfastjson-1.2.38.jar,
可以看到已经成功了。
笔者在对poi-4.1.0.jar进行类似操作的时候发现并不成功,而是另外生成了一个文件夹,新文件夹里面并没有对应的所有class文件,对3.*版本的poi又是成功的,猜测是poi版本或者是jarjar版本的问题,要是有小伙伴知道原因的话,欢迎下方评论。
附jarjar.jar资源下载:https://download.****.net/download/qq_41633199/12185203