通过修改包名解决引用EASYEXCEL的POI版本冲突问题(转载)

由于业务需要,引入easyExcel。easyExcel最低依赖版本是3.17,系统中已经存在3.9版本,排除依赖有些类无法找到,导致jar包冲突无法共存。寻求解决方案时,实践可通过修改jar包路径达到目的。在此对过程做一下记录。

资源下载:
jarjar下载地址
easyExcel仓库

一、重新打包poi

1.准备好需要的资源

2.创建rule.txt

3.rule.txt中写入文本

rule org.apache.poi.**  com.customize.poi.@1

3.验证能否修改包名

3.17可以忽略,实践通过,详细用法可自行研究

java -jar jarjar-1.3.jar strings  poi-3.17.jar

4.重新打包

自行修改规则

java -jar jarjar-1.3.jar process rule.txt poi-3.17.jar customize-poi-3.17.jar
java -jar jarjar-1.3.jar process rule.txt poi-ooxml-3.17.jar customize-poi-ooxml-3.17.jar
java -jar jarjar-1.3.jar process rule.txt poi-ooxml-schemas-3.17.jar customize-poi-schemas-3.17.jar

生成新的jar包

5.打包到本地仓库

复制代码

mvn install:install-file -Dfile=customize-poi-3.17.jar -DgroupId=com.customize -DartifactId=poi -Dversion=3.17 -Dpackaging=jar

mvn install:install-file -Dfile=customize-poi-ooxml-3.17.jar -DgroupId=com.customize -DartifactId=poi-ooxml -Dversion=3.17 -Dpackaging=jar

mvn install:install-file -Dfile=customize-poi-schemas-3.17.jar -DgroupId=com.customize -DartifactId=poi-ooxml-schemas -Dversion=3.17 -Dpackaging=jar

复制代码

打包后

二、重新编译easyExcel

1.下载easyExcel源码

注意easyExcel版本,导入IDE(笔者使用IDEA)

 或者

git clone https://github.com/alibaba/easyexcel.git
git checkout -b dev2.2.6 v2.2.6

2.修改pom文件中poi依赖

复制代码

<dependency>
   <groupId>com.customize</groupId>
   <artifactId>poi</artifactId>
   <version>3.17</version>
</dependency>

<dependency>
   <groupId>com.customize</groupId>
   <artifactId>poi-ooxml</artifactId>
   <version>3.17</version>
</dependency>

<dependency>
   <groupId>com.customize</groupId>
   <artifactId>poi-ooxml-schemas</artifactId>
   <version>3.17</version>
</dependency>

复制代码

修改项目坐标

<groupId>com.customize</groupId>
 <artifactId>easyexcel</artifactId>
 <version>2.2.6</version>
 <packaging>jar</packaging>
 <name>easyexcel</name>

3.全局替换import

4.编译

mvn clean install -Dmaven.test.skip=true 

编译失败

加入依赖

<dependency>
    <groupId>org.apache.xmlbeans</groupId>
    <artifactId>xmlbeans</artifactId>
    <version>2.3.0</version>
</dependency>

重新编译

三.使用

1.项目中添加依赖

此时easyExcel依赖为修改后的,可传至私服/安装到本地仓库

<dependency>
      <groupId>com.customize</groupId>
      <artifactId>easyexcel</artifactId>
      <version>2.2.6</version>
  </dependency>

依赖的pom

复制代码

<dependency>
     <groupId>com.customize</groupId>
     <artifactId>poi</artifactId>
     <version>3.17</version>
 </dependency>

 <dependency>
     <groupId>com.customize</groupId>
     <artifactId>poi-ooxml</artifactId>
     <version>3.17</version>
 </dependency>

 <dependency>
     <groupId>com.customize</groupId>
     <artifactId>poi-ooxml-schemas</artifactId>
     <version>3.17</version>
 </dependency>

复制代码

其余依赖(按需添加,可能已经存在,参考easyexcel原pom文件)

复制代码

<dependency>
     <groupId>cglib</groupId>
     <artifactId>cglib</artifactId>
     <version>3.1</version>
 </dependency>
<dependency>
     <groupId>org.ehcache</groupId>
     <artifactId>ehcache</artifactId>
     <version>3.4.0</version>
 </dependency>

复制代码

转载地址:解决poi版本冲突_重新打包poi_叹一曲当时只道是寻常的博客-CSDN博客

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值