Java NoClassDefFoundError:com/itextpdf/text/DocumentException将jasper导出为pdf时

Java NoClassDefFoundError:com/itextpdf/text/DocumentException将jasper导出为pdf时,java,jasper-reports,itext,Java,Jasper Reports,Itext,我创建了一个jasper报告,现在我需要将该报告导出为pdf格式。这是我的代码 // compiles jrxml JasperCompileManager.compileReportToFile(reportName + ".jrxml"); // fills compiled report with parameters and a connection JasperPrint print = JasperFillManager

我创建了一个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

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

你能帮我解决这个问题吗。
谢谢大家!

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


请参阅更改列表,其中说明已更改了包名。

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


查看更改列表,其中显示它已更改了包名。

现在我得到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谢谢。现在我得到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谢谢。在这里找到的。