NoClassDefFoundError: com/itextpdf/text/DocumentException when exporting jasper to pdf

NoClassDefFoundError: com/itextpdf/text/DocumentException when exporting jasper to pdf

我创建了一个 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 放入我的库中。

但有一件事,我之前有另一个版本的 iText jar。它给了我同样的例外。我认为它的版本可能存在一些问题。(我遵循了一个教程,所以我添加了与他们在教程中使用的相同的 jar 替换我使用的新 jar)。

但问题依然存在。我认为 this 可能是现在的问题(问题的公认答案)。但我不知道如何解决它。我删除了整个库并使用教程使用的 iText jar 再次添加它。但是我没有运气。

你能帮我解决这个问题吗? 谢谢!

您需要将 iText-2.1.7.jar 文件升级到最新版本,因为之前 jar 使用的包是 com.lowagie...

查看更改列表 here,其中说明已更改包名称。