簡體   English   中英

Java JXLS變壓器錯誤

[英]Java JXLS Transformer error

我只是想證明Java JXLS的演示代碼: http : //jxls.sourceforge.net/samples/object_collection.html,但是添加了(沒有MAVEN) 必要的庫之后:

  • JXLS-2.3.0.jar
  • JXLS-POI-1.0.9.jar
  • JXLS閱讀器 - 2.0.2.jar
  • POI-3.14-20160307.jar
  • POI-OOXML-3.14-20160307.jar

我得到以下錯誤跟蹤:

ERROR [org.jxls.util.TransformerFactory] (http--0.0.0.0-8080-9) Method createTransformer of org.jxls.transform.poi.PoiTransformer class thrown an Exception: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_101]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_101]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_101]
        at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_101]
        at org.jxls.util.TransformerFactory.createTransformer(TransformerFactory.java:35) [jxls-2.3.0.jar:]

    Caused by: java.lang.NullPointerException
        at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:198) [poi-ooxml-3.14-20160307.jar:3.14]
        at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:170) [poi-ooxml-3.14-20160307.jar:3.14]
        at org.jxls.transform.poi.PoiTransformer.createTransformer(PoiTransformer.java:49) [jxls-poi-1.0.9.jar:]
        at org.jxls.transform.poi.PoiTransformer.createTransformer(PoiTransformer.java:42) [jxls-poi-1.0.9.jar:]

 ERROR [stderr]  java.lang.IllegalStateException: Cannot load XLS transformer. Please make sure a Transformer implementation is in classpath

我嘗試了所有可能性,並始終遇到相同的錯誤。 任何想法?

問題可能是您的項目中有沖突的jar。

如果您在項目中以某種方式擁有POI的兩個版本(例如3,14-3,06),它將無法實例化類或調用方法。 檢查那些沖突。

(如果使用maven,請檢查依賴關系層次結構以查看所有依賴關系,並排除不同版本的poi,然后重試。)

嘗試了很多並解決了問題,但添加了以下用於解決此問題的依賴關系JAR列表

  • 公地編解碼器1.10.jar
  • 公地collections4-4.1.jar
  • 公地JEXL-2.1.1.jar
  • 共享記錄-1.2.jar
  • JXLS-2.4.0.jar
  • JXLS-jexcel-1.0.6.jar
  • JXLS-POI-1.0.12.jar
  • JXLS閱讀器 - 2.0.2.jar
  • POI-3.14.jar
  • POI-OOXML-3.15.jar
  • SLF4J-API-1.6.6.jar

要使用當前的Jxls-2.3.0版本運行此示例,您需要在類路徑中包含以下庫

  • JXLS-2.3.0.jar
  • JXLS-POI-1.0.11.jar
  • POI-3.14.jar
  • POI-OOXML-3.14.jar
  • SLF4J-API-1.7.7.jar
  • 公地JEXL-2.1.1.jar
  • 共享記錄-1.2-api.jar文件

您可以執行的另一種選擇是設置一個具有jxls依賴項的簡單Maven項目,然后使用Maven依賴項插件的“ 復制項目依賴項”目標將所有依賴項下載並復制到一個單獨的文件夾中。

搜索轉換器實現時,jxls-2.3.0和更早版本未正確顯示異常stacktrace。 因此,現在很難弄清您的類路徑出了什么問題。 此問題將在下一版本中修復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM