解决报错:
org.springframework.web.util.NestedServletException: Handler dispatch failed;
nested exception is java.lang.NoClassDefFoundError: org/apache/poi/POIXMLTypeLoader
报错描述:
表格导出本来使用正常,偶然就报了以上错误,大致描述是:处理程序调度失败,由于Java虚拟机在编译时能找到合适的类(POIXMLTypeLoader ),分析来去最后找到原因是,最近系统集成了UReport2,导入了依赖包:
<!--ureport2报表-->
<dependency>
<groupId>com.bstek.ureport</groupId>
<artifactId>ureport2-console</artifactId>
<version>${ureport2.version}</version>
</dependency>
查看Maven依赖关系后果不其然,产生了依赖关系冲突,为此提供如下解决办法:对UReport2依赖项做一下调整,排除掉低版本的依赖导出,然后解决了报错问题,表格可以正常导出了。
<!--ureport2报表-->
<dependency>
<groupId>com.bstek.ureport</groupId>
<artifactId>ureport2-console</artifactId>
<version>${ureport2.version}</version>
<exclusions>
<exclusion>
<artifactId>ooxml-schemas</artifactId>
<groupId>org.apache.poi</groupId>
</exclusion>
</exclusions>
</dependency>