美文网首页
POI 4.x版本新建Workbook 报错org.apache

POI 4.x版本新建Workbook 报错org.apache

作者: 小罗不吃菜 | 来源:发表于2020-01-03 12:03 被阅读0次

    异常中写的比较清晰,org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit方法找不到,但是项目时maven项目,不应该缺少依赖,查看xmlbeans发现XmlOptions class中的确没有setEntityExpansionLimit方法,估计是版本不匹配(使用的是2.x版本的xmlbeans)
    不知道是因为之前使用的旧版POI的残留缓存导致idea识别问题还是官方poi自己的依赖搞错了,
    解决方案:在poi的引入中手动排除xmlbeans依赖:

          <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>${poi.version}</version>
            <exclusions>
              <exclusion>
                <groupId>org.apache.xmlbeans</groupId>
                <artifactId>xmlbeans</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
    

    手动引入新版的xmlbeans依赖:

          <dependency>
            <groupId>org.apache.xmlbeans</groupId>
            <artifactId>xmlbeans</artifactId>
            <version>3.1.0</version>
          </dependency>
    

    maven Reimport一下依赖,项目 Rebuild一下,再次执行,问题就解决了。
    当然,如果是因为我们的项目缓存导致的,那其实是不需要这么麻烦手动排除依赖,只需要删除maven库中的旧xmlbeans包,在Reimport 依赖即可。

    相关文章

      网友评论

          本文标题:POI 4.x版本新建Workbook 报错org.apache

          本文链接:https://www.haomeiwen.com/subject/pudzoctx.html