得到异常.NoClassDefFoundError:com / itextpdf / text / log / CounterFactory

时间:2014-11-06 10:07:56

标签: java pdf itext pdfa

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

任何人都可以告诉我该怎么做才能解决这个问题?

由于

3 个答案:

答案 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)或至少验证包结构。

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