1

处理 itext 7 代码的第一个示例会在第 4 步导致 NoClassDefFoundError。如果有人能指出错误的来源会有所帮助吗?

import com.itextpdf.kernel.pdf.PdfWriter
import com.itextpdf.kernel.pdf.PdfDocument
import com.itextpdf.layout.Document
import com.itextpdf.layout.element.Paragraph

//step 1 - writer
writer = new PdfWriter(new FileOutputStream(DEST))
//step 2 - PDF
pdf = new PdfDocument(writer)
//step 3 - document
document = new Document(pdf)
//step 4 - content
document.add( new Paragraph ( 'Hello World!' ) )

这会产生

java.lang.NoClassDefFoundError: Could not initialize class com.itextpdf.io.font.FontProgramFactory

代码在 Groovy 下运行,这就是它稍微稀疏的原因 IO、内核和布局 jar 被加载。

4

1 回答 1

2

您是否观看了有关如何安装 iText 7 的视频?错误消息告诉您没有包含 IO jar。我的假设是您已将内核和布局 jar 添加到您的 CLASSPATH,但是您忽略了添加 io jar。

这些是Jump-start 教程的在我们开始之前:安装 iText 7部分中记录的一些依赖项:

<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>kernel</artifactId>
    <version>7.0.0</version>
    <scope>compile</scope>
</dependency>
<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>io</artifactId>
    <version>7.0.0</version>
    <scope>compile</scope>
</dependency>
<dependency>
    <groupId>com.itextpdf</groupId>
    <artifactId>layout</artifactId>
    <version>7.0.0</version>
    <scope>compile</scope>
</dependency>

如视频中所述,io jar 是内核 jar 的依赖项。

你写:

IO、内核和布局 jar 已加载。

您共享的错误消息告诉我未加载 IO jar。该类com.itextpdf.io.font.FontProgramFactory存储在此 jar 中。

于 2016-06-11T10:00:21.890 回答