解决poi版本冲突
文章目錄
- 背景
- 一、重新打包poi
- 1.準備好需要的資源
- 2.創建rule.txt
- 3.rule.txt中寫入文本
- 3.驗證能否修改包名
- 4.重新打包
- 5.打包到本地倉庫
- 二、重新編譯easyExcel
- 1.下載easyExcel源碼
- 2.修改pom文件中poi依賴
- 3.全局替換import
- 4.編譯
- 三.使用
- 1.項目中添加依賴
- 2.測試easyExcel功能
背景
由于業務需要,引入easyExcel。easyExcel最低依賴版本是3.17,系統中已經存在3.16版本,排除依賴有些類無法找到,導致jar包沖突無法共存。尋求解決方案時,實踐可通過修改jar包路徑達到目的。在此對過程做一下記錄。參考文章
資源下載:
jarjar下載地址
easyExcel倉庫
打包下載
一、重新打包poi
1.準備好需要的資源
2.創建rule.txt
3.rule.txt中寫入文本
rule org.apache.poi.** com.customize.poi.@13.驗證能否修改包名
3.17可以忽略,實踐通過,詳細用法可自行研究
java -jar jarjar-1.3.jar strings poi-3.17.jar4.重新打包
自行修改規則
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=jarmvn install:install-file -Dfile=customize-poi-ooxml-3.17.jar -DgroupId=com.customize -DartifactId=poi-ooxml -Dversion=3.17 -Dpackaging=jarmvn 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)
或者
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 -DkispTests=true編譯失敗
加入依賴
重新編譯
三.使用
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>2.測試easyExcel功能
不出意外,此時可正常同時兩個版本pom共存
總結
- 上一篇: 直接在 PS 上使用 Google Fo
- 下一篇: BIM模型文件下载——某高层办公楼Rev