编程语言
首页 > 编程语言> > 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