zoukankan      html  css  js  c++  java
  • java.lang.NoSuchMethodError: org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(Ljava/io/File;Z) 报错处理

    字面看下:没有该方法,首先应该推测有可能是Jar冲突导致的,因为一些jar中的类在升级的过程中不会向下兼容,所以有一些高级属性或方法就jar中没有,此POI就是。
    可以先看下这个类的资源加载路径:
    ClassLoader classloader =org.apache.poi.poifs.filesystem.POIFSFileSystem.class.getClassLoader();
    URL res = classloader.getResource("org/apache/poi/poifs/filesystem/POIFSFileSystem.class");
    String path = res.getPath();
    System.out.println("POI Core came from " + path);

    然后找到maven中 这个jar包 看是否有多个版本(如果有的话 不引用相关依赖)
    我的问题是 因为有了多个版本的poi 其中取消一个依赖 保留最初版本的依赖

     <dependency>
                <groupId>net.sf.jxls</groupId>
                <artifactId>jxls-core</artifactId>
                <version>1.0.5</version>
                <exclusions>
                    <exclusion>
                        <groupId>org.apache.poi</groupId>
                        <artifactId>poi</artifactId>
                    </exclusion>
                    <exclusion>
                        <groupId>org.apache.poi</groupId>
                        <artifactId>poi-ooxml</artifactId>
                    </exclusion>
                </exclusions>
            </dependency>
    

    然后maven clean ,清除idea 缓存即可

  • 相关阅读:
    二叉搜索查找排序树
    多项式运算
    赫夫曼编码及应用
    利用python画出动态高优先权优先调度
    利用python画出SJF调度图
    支持向量机
    fisher线性分类器
    Codeforces Round #520 (Div. 2)
    Codeforces Round #510 (Div. 2)
    Codeforces Round #504 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final)
  • 原文地址:https://www.cnblogs.com/jxl123456/p/14963065.html
Copyright © 2011-2022 走看看