解决报错:
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>