2015-02-08 52 views
0

我創建了一個jasper報告,現在我需要將該報告導出爲pdf格式。這是我的代碼。NoClassDefFoundError:com/itextpdf/text/DocumentException當將jasper導出爲pdf時

 // compiles jrxml 
     JasperCompileManager.compileReportToFile(reportName + ".jrxml"); 
     // fills compiled report with parameters and a connection 
     JasperPrint print = JasperFillManager.fillReport(reportName + ".jasper", parameters, connection); 

     // to view the report 
     //JasperViewer.viewReport(print, false); 

     // export repor to pdf 
     JasperExportManager.exportReportToPdfFile(print, "fromXml.pdf"); 

當我使用JasperViewer查看報告時,它工作正常。但是,當我將報告導出爲pdf格式時,它給了我以下例外。

Exception in thread "main" java.lang.NoClassDefFoundError: com/itextpdf/text/DocumentException 

但我已經把iText jar放到了我的庫中。

enter image description here

但有一兩件事,我收到了iText罐子的另一個版本。它給了我同樣的例外。我認爲它的版本可能存在一些問題(我遵循一個教程,所以我添加了與在教程中使用的相同的jar,替換了我使用過的新jar)。

但仍然存在問題。我認爲this現在可能是問題(問題的接受答案)。但我不知道如何解決它。我刪除了整個庫,並使用本教程使用的iText jar再次添加它。但我沒有運氣。

請你幫我解決這個問題。 謝謝!

回答

7

您需要升級你的iText-2.1.7.jar文件到最新版本,如前面已使用的罐子包裝是com.lowagie...

看到的變化列表here它說,它已經改變了包名。

+0

現在我得到'java.lang.NoClassDefFoundError:com/itextpdf/text/pdf/PdfAWriter'異常 – vigamage 2015-02-08 14:30:04

+0

是的,因爲你沒有在類路徑屏幕截圖中顯示的任何jar中的那個類。 – SMA 2015-02-08 14:37:07

+0

但它應該在'itextpdf.jar'下。不是嗎? – vigamage 2015-02-08 14:40:13