2012-11-08 61 views
2

組織/阿帕奇/ POI/SS /的usermodel/RichTextString我使用的相同示例代碼Primefaces在其網頁:java.lang.NoClassDefFoundError:在org.primefaces.component.export.ExporterFactory.getExporterForType

<h:commandLink value="Excel">      
    <p:dataExporter type="xls" target="dataTable" fileName="boo" pageOnly="true"/> 
</h:commandLink> 

但不起作用。 在Internet Explorer瀏覽器提供了以下消息:

Details of the errors of the web page Message: Unexpected call to method or property access.

沒有什麼事情發生在Mozilla Firefox。

可能發生了什麼?

+0

你在做什麼版本的primefaces? – kolossus

+0

在IE中的錯誤消息是由JS/jQuery特定的錯誤(因而不是JSF特定的)的方式。您可能需要首先檢查JS代碼的正確性(onload處理程序,事件偵聽器等)。至於在Firefox中缺乏反饋,你是否也檢查過它的JS控制檯? – BalusC

+0

同時檢查你是不是嵌套表格;一個關於完全相同的IE錯誤消息的面向JSF + PrimeFaces的問題之前已經被問到,但是隨後有了一個更好的SSCCE:http://stackoverflow.com/questions/9501448/jsf2-0-primefaces-3-0-1- jquery-1-6-4-pcommandlink-ie8-throws-unexpected,原因是嵌套窗體。 – BalusC

回答

5
javax.servlet.ServletException: org/apache/poi/ss/usermodel/RichTextString 

再往下看堆棧跟蹤。我敢打賭,根本原因是NoClassDefFoundErrorClassNotFoundException?在這種情況下,這隻意味着你忘了安裝Apache POI

下載this Apache POI zip file,提取它,把POI-3.8-20120326.jar/WEB-INF/lib文件夾和重建/重新部署/重新啓動Web應用程序。

+0

我下載了完整的軟件包poi。我的Excel 2003,即試圖生成xlsx,所以是給錯誤?那麼從我在http://poi.apache.org/ poi3.8版本中讀到的內容應該適用於Excel 2003以及2007和2010。 – Deb

+0

對不起,我不知道你在說什麼錯誤。 – BalusC

+0

我添加了庫poi 3.8,現在給出了以下異常:javax.servlet.ServletException:類沒有實現org.apache.poi.hssf.usermodel.HSSFWorkbook請求的接口org.apache.poi.ss.usermodel.Workbook 。任何想法可以是什麼? – Deb