zoukankan      html  css  js  c++  java
  • java.lang.IllegalAccessError: tried to access method org.apache.poi.util.POILogger.log from class org.apache.poi.openxml4j.opc.ZipPackage

    代码说简单也简单,说复杂那还真是寸步难行。

    之前好好的excel导出功能,本地启动调试的时候突然就不行了,一直报上面的错。

    一直在本地折腾了半天,去测试环境上看,又是好的,可以正常导出excel。

    搜索引擎查了下才发现问题所在:

    下面是项目结构:

    client<--service<---dao<--common-utils

    在service层中,pom文件如下:

     <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi</artifactId>
                <version>3.13</version>
            </dependency>
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml</artifactId>
                <version>3.13</version>
            </dependency>

    在common-utils中,本地最近为了测试一个功能,(poi读写word),懒得新建工程,就直接加在了common-utils的pom中:

            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-ooxml</artifactId>
                <version>3.9</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.apache.poi/poi-scratchpad -->
            <dependency>
                <groupId>org.apache.poi</groupId>
                <artifactId>poi-scratchpad</artifactId>
                <version>3.9</version>
            </dependency>

    可以看到,两处的jar包版本不同,在idea的maven projects的窗口中可以看到:

    最终打包出来的war包中,lib目录下:

     版本是不匹配的,所以出现了标题中的错误。

    参考:

    http://stackoverflow.com/questions/33415904/apache-poi-parsing-error

    http://stackoverflow.com/questions/34630209/java-lang-illegalaccesserror-tried-to-access-method-org-apache-poi-util-poilogg

    maven依赖规则:

    http://hae.iteye.com/blog/2097302

  • 相关阅读:
    Linux中/etc目录下passwd和shadow文件
    Linux基本命令
    Linux目录结构说明与基本操作
    如何用虚拟机VMware Workstation安装CentOs-7
    VPP源码分析及流程图
    VPP环境搭建及配置
    【转】智能指针的交叉引用问题及解决方法
    二叉树的前 中 后 层序遍历
    排序算法
    C和C++的一些区别
  • 原文地址:https://www.cnblogs.com/grey-wolf/p/6693746.html
Copyright © 2011-2022 走看看