正在获取异常.NoClassDefFoundError:com/itextpdf/text/log/CounterFac



我正在尝试使用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>

有人能告诉我该怎么解决这个问题吗?

感谢

当我在多个jar中拥有上述类时,我会得到类似的异常。也许您应该检查类路径是否存在重复。也许同一个库的不同版本共存。如果您正在使用Eclipse,请查看pom的"Dependency hierarchy"视图,并尝试查找重复的。

看起来您错过了类路径中的itextpdf.jar。下载jar并将其添加到类路径

Primefaces库的当前版本是指iText的旧版本。如果您尝试安装最新的iText发行版,您将最终出现以下错误:

java.lang.NoClassDefFoundError: com/lowagie/text/

这是因为在最近的iText版本中,包com/lowagie/text已重命名为com/itextpdf/text。因此,在修复之前,请使用建议的iText版本(2.1.7),或者至少验证包结构。

这可能很有用:http://www.mastertheboss.com/jboss-web/primefaces/export-your-datatable-to-excel-and-pdf-using-primefaces?showall=&start=1

最新更新