首页 > 编程语言> > Caused by: java.lang.NoSuchMethodError: org.apache.poi.util.TempFile.setTempFileCreationStrategy
Caused by: java.lang.NoSuchMethodError: org.apache.poi.util.TempFile.setTempFileCreationStrategy
作者:互联网
1.情景展示
使用easyExcel,生成excel文件,报错信息如下:
Caused by: java.lang.NoSuchMethodError: org.apache.poi.util.TempFile.setTempFileCreationStrategy(Lorg/apache/poi/util/TempFileCreationStrategy;)V
2.具体分析
jar包冲突导致
3.解决方案
easyexcel,2.2.6版本
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.6</version>
</dependency>
对应的是poi版本是:3.17
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17</version>
</dependency>
如果还不行,再加上这个:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>3.17</version>
</dependency>
如果,上述三个都加上,且版本保持一致,还报同样地错误,那说明是你的开发工具出了问题。
以我为例,我使用的是非maven老项目,这就需要自己手动往项目的lib目录下添加jar包,并手动将其构建到项目当中。
如果有低版本或者高版本,首先需要将其从项目构建当中排除,还要将其手动删除。(我使用的是eclipse,必须将多余的jar包删掉,否则,还是会报上面的错误)。
一般情况下,到了这里就结束了。
如果报其它错,可以参考下面。
不行,接着加:
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.1</version>
</dependency>
不行,接着加:
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>3.1</version>
</dependency>
写在最后
哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!
相关推荐:
标签:lang,setTempFileCreationStrategy,java,jar,3.17,util,poi,apache,org 来源: https://www.cnblogs.com/Marydon20170307/p/16390465.html