【问题标题】:NoClassDefFoundError: com/itextpdf/text/DocumentException when exporting jasper to pdfNoClassDefFoundError:com/itextpdf/text/DocumentException 将碧玉导出为 pdf 时
【发布时间】:2015-02-08 14:06:42
【问题描述】:

我创建了一个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 再次添加它。但我没有运气。

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

【问题讨论】:

    标签: java jasper-reports itext


    【解决方案1】:

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

    查看更改列表here,它说它已经更改了包名称。

    【讨论】:

    • 现在我得到java.lang.NoClassDefFoundError: com/itextpdf/text/pdf/PdfAWriter 异常
    • 是的,因为您在类路径屏幕截图中显示的任何 jar 中都没有该类。
    • 但它应该属于itextpdf.jar。不是吗?
    • 是的,你是对的。但是您使用的是旧版本的 jar 文件。您应该升级它,因为您正在寻找的软件包是最新版本,即 5.X。你不会在你的 itextpdf-2.1.7.jar 中找到 com.itextpdf.text.pdf.PdfAWriter.class
    • 谢谢。在这里找到它。stackoverflow.com/questions/15118163/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多