iText 7 Hello World示例因NoClassDefFoundError而失败

时间:2016-06-11 09:49:45

标签: itext7

使用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。

1 个答案:

答案 0 :(得分:2)

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

这些是Jump-start教程的Before we start: installing 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中。