2017-07-04 45 views
0

我正在學習如何使用java代碼生成pdf,但似乎我無法理解爲什麼會出現此錯誤。iText 7.0.2目標錯誤

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,只是使用字符串位置,但它顯示相同的錯誤。

wait.Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory at com.itextpdf.io.font.FontRegisterProvider.(FontRegisterProvider.java:65) at com.itextpdf.io.font.FontProgramFactory.(FontProgramFactory.java:61) at com.itextpdf.kernel.font.PdfFontFactory.createFont(PdfFontFactory.java:215) at com.itextpdf.kernel.font.PdfFontFactory.createFont(PdfFontFactory.java:201) at com.itextpdf.kernel.font.PdfFontFactory.createFont(PdfFontFactory.java:143) at com.itextpdf.kernel.font.PdfFontFactory.createFont(PdfFontFactory.java:92) at com.itextpdf.layout.RootElement.getDefaultProperty(RootElement.java:180) at 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) at 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) at com.itextpdf.layout.renderer.RootRenderer.addChild(RootRenderer.java:111) at com.itextpdf.layout.RootElement.add(RootElement.java:108) at com.itextpdf.layout.Document.add(Document.java:143) at report.GenerateReport.GeneratePDF(GenerateReport.java:136) at report.GenerateReport.main(GenerateReport.java:87) Caused by: 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 more

回答

2

java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory

該錯誤消息指出它無法找到適用於JavaLoggerFactory簡單的日誌門面。

I.e.您沒有將所有必需的JAR文件添加到您的代碼中。特別是你似乎錯過了slf4j-api.jar

+1

要添加到mkl的答案:你使用Maven還是Gradle?因爲如果你這樣做,所有需要的罐子都會自動添加。 –

+0

非常感謝!加入slf4j-api和簡單的jar文件後問題解決了。 – Bocky