【问题标题】:Not able to create PDF using iText 7.1.9 in Java无法在 Java 中使用 iText 7.1.9 创建 PDF
【发布时间】: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。我猜如果你在单元测试中运行它就不会失败。

标签: java maven itext7 vaadin8


【解决方案1】:

当您的代码依赖于一个类文件并且它在编译时存在但在运行时找不到时会导致这种情况。查找构建时间和运行时类路径的差异。

【讨论】:

    猜你喜欢
    • 2016-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多