我正在学习如何使用java代码生成pdf,但似乎我似乎无法理解为什么会出现此错误。
PdfWriter writer = new PdfWriter(new FileOutputStream("D:/t.pdf"));
PdfDocument pdf = new PdfDocument(writer);
Document doc = new Document(pdf);
doc.add(new Paragraph("Hello World!"));
doc.close();
当我尝试声明目标文件夹以输出pdf文件时,它会不断向我显示错误,如下所示。我不确定为什么会这样做。请向我提供一些如何解决此问题的指导。我试图也不使用FileOutputStream而只是使用字符串位置,但它显示相同的错误。
线程“main”中的wait.Exception java.lang.NoClassDefFoundError:org / slf4j / LoggerFactory 在com.itextpdf.io.font.FontRegisterProvider。(FontRegisterProvider.java:65) 在com.itextpdf.io.font.FontProgramFactory。(FontProgramFactory.java:61) 在com.itextpdf.kernel.font.PdfFontFactory.createFont(PdfFontFactory.java:215) 在com.itextpdf.kernel.font.PdfFontFactory.createFont(PdfFontFactory.java:201) 在com.itextpdf.kernel.font.PdfFontFactory.createFont(PdfFontFactory.java:143) 在com.itextpdf.kernel.font.PdfFontFactory.createFont(PdfFontFactory.java:92) at com.itextpdf.layout.RootElement.getDefaultProperty(RootElement.java:180) 在com.itextpdf.layout.renderer.AbstractRenderer.getProperty(AbstractRenderer.java:289) at com.itextpdf.layout.renderer.AbstractRenderer.getProperty(AbstractRenderer.java:282) at com.itextpdf.layout.renderer.AbstractRenderer.getProperty(AbstractRenderer.java:282) at com.itextpdf.layout.renderer.AbstractRenderer.getProperty(AbstractRenderer.java:282) 在com.itextpdf.layout.renderer.TextRenderer.resolveFonts(TextRenderer.java:1045) at com.itextpdf.layout.renderer.LineRenderer.resolveChildrenFonts(LineRenderer.java:706) at com.itextpdf.layout.renderer.LineRenderer.layout(LineRenderer.java:94) at com.itextpdf.layout.renderer.ParagraphRenderer.layout(ParagraphRenderer.java:171) 在com.itextpdf.layout.renderer.RootRenderer.addChild(RootRenderer.java:111) at com.itextpdf.layout.RootElement.add(RootElement.java:108) 在com.itextpdf.layout.Document.add(Document.java:143) at report.GenerateReport.GeneratePDF(GenerateReport.java:136) 在report.GenerateReport.main(GenerateReport.java:87) 引起:java.lang.ClassNotFoundException:org.slf4j.LoggerFactory at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher $ AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) ......还有20个
答案 0 :(得分:3)
java.lang.NoClassDefFoundError:org / slf4j / LoggerFactory
错误消息指出它无法找到Java LoggerFactory
类的简单日志记录外观。
即。您没有将所有必需的JAR文件添加到您的代码中。特别是你似乎错过了 slf4j-api.jar 。