报错信息:org/apache/poi/POIXMLTypeLoader

若依框架前后端分离版整合ureport2后,导致系统内用户管理、部门管理等导出excel报错。

因为是整合后出错,若依和ureport2都具有导出excel功能,所以首先考虑jar包冲突。

下面是若依框架中引入的excel工具jar包。

<!-- excel工具 -->
<dependency>
   <groupId>org.apache.poi</groupId>
   <artifactId>poi-ooxml</artifactId>
</dependency>

这是version版本,我使用的若依框架为3.8.6,poi版本为4.1.2。 

<properties>
        <ruoyi.version>3.8.6</ruoyi.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
        <druid.version>1.2.16</druid.version>
        <bitwalker.version>1.21</bitwalker.version>
        <swagger.version>3.0.0</swagger.version>
        <kaptcha.version>2.3.3</kaptcha.version>
        <pagehelper.boot.version>1.4.6</pagehelper.boot.version>
        <fastjson.version>2.0.34</fastjson.version>
        <oshi.version>6.4.4</oshi.version>
        <commons.io.version>2.11.0</commons.io.version>
        <commons.collections.version>3.2.2</commons.collections.version>
        <poi.version>4.1.2</poi.version>
        <velocity.version>2.3</velocity.version>
        <jwt.version>0.9.1</jwt.version>
    </properties>

我们查看ureport2的jar包版本, ureport2引入的pom文件在ureport-core下。

pom文件中可以看到poi的版本号为3.16。所以冲突了。

我试了把ureport的poi版本升级后,解决代码报错,重新打成jar包,引入项目中,保持与若依相同的版本号,但是还是报错。所以我选择降低若依框架引入的poi的版本号。降至3.16版本。 

    <properties>
        <ruoyi.version>3.8.6</ruoyi.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
        <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
        <druid.version>1.2.16</druid.version>
        <bitwalker.version>1.21</bitwalker.version>
        <swagger.version>3.0.0</swagger.version>
        <kaptcha.version>2.3.3</kaptcha.version>
        <pagehelper.boot.version>1.4.6</pagehelper.boot.version>
        <fastjson.version>2.0.34</fastjson.version>
        <oshi.version>6.4.4</oshi.version>
        <commons.io.version>2.11.0</commons.io.version>
        <commons.collections.version>3.2.2</commons.collections.version>
        <poi.version>3.16</poi.version>
        <velocity.version>2.3</velocity.version>
        <jwt.version>0.9.1</jwt.version>
    </properties>

降版本后重新启动项目,导出就不报错了。

Logo

快速构建 Web 应用程序

更多推荐