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]

目录结构如下:

jarjar.jar解决jar包版本兼容问题

在当前目录下开启cmd,输入如下命令:

jarjar.jar解决jar包版本兼容问题

如果没有报错就说明是ok了,报错的话可以检查下java环境变量是否配置好了。

通过winrar打开生成的fkfastjson-1.2.38.jar,

jarjar.jar解决jar包版本兼容问题

可以看到已经成功了。

笔者在对poi-4.1.0.jar进行类似操作的时候发现并不成功,而是另外生成了一个文件夹,新文件夹里面并没有对应的所有class文件,对3.*版本的poi又是成功的,猜测是poi版本或者是jarjar版本的问题,要是有小伙伴知道原因的话,欢迎下方评论。

附jarjar.jar资源下载:https://download.****.net/download/qq_41633199/12185203