【发布时间】:2020-01-27 12:22:55
【问题描述】:
我正在尝试使用 Java 中的 iText 7.1.9 jar 创建 PDF 文件。但我越来越低于例外。我有编译 jars、设置类路径和构建路径的所有必要步骤。请帮我解决这个问题。
java.lang.NoClassDefFoundError: com/itextpdf/kernel/pdf/PdfDocument
在线pdfdoc = new PdfDocument(new PdfReader(file));。我的 Vaadin8/Maven 的 POM.xml 如下。在属性标签中:
<itext.version>RELEASE</itext.version>
在依赖项中我添加了以下条目:
<!-- https://mvnrepository.com/artifact/com.itextpdf/itext7-core -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext7-core</artifactId>
<version>7.1.9</version>
<type>pom</type>
</dependency>
我已经使用命令行构建了所有 jar mvn deploy:deploy-file -Dfile=/barcodes-7.1.9.jar -DgroupId=com.roufid.tutorials -DartifactId=example-app -Dversion=1.0 -Dpackaging=jar -Durl=file:./maven-repository/ -DrepositoryId=maven-repository -DupdateReleaseInfo=true
【问题讨论】:
-
这可能是因为您只指定了 pom 作为类型?如果您删除它,它会识别类吗?此外,您确定在运行代码时已刷新项目并捆绑了 itext7-core jar?也许你可以提供更多关于你如何运行它的细节?
-
尝试删除 POM 但没有帮助。这是 Vaadin8,Mavan 项目。
-
根据您添加的内容和@HasS 在下面指出的内容。看起来您将其捆绑为一个不包含依赖项的 jar。运行该代码时,您需要在类路径上设置其他 jar。我猜如果你在单元测试中运行它就不会失败。