Java 生成pdf文件动态报告时出错

Java 生成pdf文件动态报告时出错,java,servlets,dynamic-reports,Java,Servlets,Dynamic Reports,我已经在我的项目上实现了动态报告以生成pdf报告(版本4.0.0),但我遇到了以下严重错误: GRAVE:El Servlet.service()para El Servlet[com.pkg.svt_pdf]en El contexto con ruta[/WEB]lanzóla execpción[la ejeucción del Servlet lanzóuna execpción]con cause raíz java.lang.NoSuchMethodError:com.itextpd

我已经在我的项目上实现了动态报告以生成pdf报告(版本4.0.0),但我遇到了以下严重错误:

GRAVE:El Servlet.service()para El Servlet[com.pkg.svt_pdf]en El contexto con ruta[/WEB]lanzóla execpción[la ejeucción del Servlet lanzóuna execpción]con cause raíz java.lang.NoSuchMethodError:com.itextpdf.text.Document.setRole(Lcom/itextpdf/text/pdf/PdfName;)V 位于net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExporter.java:580) 位于net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:519) 位于net.sf.dynamicreports.jasper.builder.JasperReportBuilder.export(JasperReportBuilder.java:630) 位于net.sf.dynamicreports.jasper.builder.JasperReportBuilder.toPdf(JasperReportBuilder.java:532) 在com.pkg.reports.ReportsGenerator.exportPDF上(ReportsGenerator.java:73) 请访问com.pkg.svt_pdf.doGet(svt_pdf.java:53) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:620) 位于javax.servlet.http.HttpServlet.service(HttpServlet.java:727) 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) 位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 位于org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) 位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) 位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) 位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) 位于org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) 位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 位于org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) 位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) 位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) 位于org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070) 位于org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611) 位于org.apache.tomcat.util.net.aprendop$SocketProcessor.doRun(aprendop.java:2440) 位于org.apache.tomcat.util.net.aprendop$SocketProcessor.run(aprendop.java:2429) 位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 位于org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 运行(Thread.java:745)

这是我的代码:

此行中的错误:

jrb.toPdf((JasperPdfExporterBuilder) exporter);

确保将itext库添加到classpathyes其已添加:itext pdfa和itextpdf@Zouhair仔细检查类路径,该库文件必须添加到页面中。
jrb.toPdf((JasperPdfExporterBuilder) exporter);