我正在尝试使用itext和java创建一个PDF / A文档,其代码如下:
PdfAWrite writer = PdfAWriter.getInstance(myDoc, myStream, PdfAConformanceLevel.PDF_A_1A);
但我一直得到这个例外:
java.lang.NoClassDefFoundError: com/itextpdf/text/log/CounterFactory
at com.itextpdf.text.pdf.PdfAWriter.<init>(PdfAWriter.java:210)
at com.itextpdf.text.pdf.PdfAWriter.getInstance(PdfAWriter.java:86)
这是我的pom.xml
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.3</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-pdfa</artifactId>
<version>5.5.3</version>
</dependency>
任何人都可以告诉我该怎么做才能解决这个问题?
由于
答案 0 :(得分:3)
当我在多个jar中使用所述类时,我得到类似的异常。也许你应该检查你的类路径重复。也许同一个库的不同版本共存。如果您正在使用Eclipse,请查看pom的“依赖关系层次结构”视图,并尝试找到重复项。
答案 1 :(得分:1)
您似乎错过了类路径中的itextpdf.jar
。下载jar并将其添加到类路径
答案 2 :(得分:0)
Primefaces库的当前版本是指较早版本的iText。如果您尝试安装最新的iText发行版,则最终会出现以下错误:
java.lang.NoClassDefFoundError: com/lowagie/text/
这是因为在最近的iText版本中,包com/lowagie/text
已重命名为com/itextpdf/text
。因此,在修复之前,请使用建议的iText版本(2.1.7)或至少验证包结构。