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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM