Java NoClassDefFoundError:com/itextpdf/text/DocumentException将jasper导出为pdf时
我创建了一个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
// 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谢谢。在这里找到的。