【问题标题】:getting exception .NoClassDefFoundError: com/itextpdf/text/log/CounterFactory获取异常 .NoClassDefFoundError: com/itextpdf/text/log/CounterFactory
【发布时间】:2014-11-06 10:07:55
【问题描述】:

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

谁能告诉我应该怎么做才能解决这个问题?

谢谢

【问题讨论】:

    标签: java pdf itext pdfa


    【解决方案1】:

    当我在多个 jar 中使用上述类时,我会遇到类似的异常。也许你应该检查你的类路径是否有重复。也许同一个库的不同版本并存。如果您使用的是 Eclipse,请查看 pom 的“依赖层次结构”视图并尝试查找重复项。

    【讨论】:

    • 这是一个非常好的建议。 NoClassDefFoundError 通常具有误导性,因为如果找到该类的多个版本,但无法定义确切的类,因为它是模棱两可的:应该使用哪个版本?无论如何:解决这个问题应该是不费吹灰之力的。很多人在使用 iText 时都没有遇到过这个问题。从头开始总是有帮助的。
    • @BrunoLowagie 正如你所说的 NoClassDefFoundError 具有误导性,问题是我的 pom.xml 文件中有多个依赖项。感谢 Kenneth 的建议,我解决了这个问题
    【解决方案2】:

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

    【讨论】:

    • 我的类路径中有 itextpdf-5.5.3.jar 以及 itext-pdfa-5.5.3.jar
    • @Shahe 你能显示类路径配置吗?您是从 IDE 运行您的应用程序吗?
    • 我正在从 Eclipse IDE 运行我的应用程序,并且正在使用 maven 构建我的项目。
    • 对不起,您能更准确地说一下您想让我向您展示什么吗?不知道运行配置在哪里。
    • @Shahe 如果您从 Eclipse 运行程序,则使用启动器。您可以在“运行”-->“运行配置”下看到它。那里有一个选项卡类路径。一个 this 的内容应该包含 jar 作为一个条目。
    【解决方案3】:

    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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多