首页 > 解决方案 > 使用 Interleaved2Of5 条形码格式时出现 java.lang.NoClassDefFoundError: org/apache/batik/dom/svg/SAXSVGDocumentFactory

问题描述

我正在尝试打印条形码列表,其数据将发送到字符串列表中的 JasperReports jrxml

我成功使用烧烤格式打印条形码,但现在我必须将条形码的格式更改为barcode4j Interleaved2Of5。我在 pom.xml 中添加了以下依赖项:

<dependency>
    <groupId>net.sf.barcode4j</groupId>
    <artifactId>barcode4j</artifactId>
    <version>2.1</version>
</dependency>

<dependency>
    <groupId>org.apache.xmlgraphics</groupId>
    <artifactId>batik-bridge</artifactId>
    <version>1.11</version>
</dependency>

但是在运行代码时仍然出现以下错误:

java.lang.NoClassDefFoundError: org/apache/batik/dom/svg/SAXSVGDocumentFactory

任何人都可以告诉我添加的依赖项是否有任何问题,或者我需要添加任何其他依赖项?

标签: javajasper-reportsnoclassdeffounderrorbatik

解决方案


您可以使用org.apache.xmlgraphics:batik-svg-dom:1.7 artifact 来解决这个问题。

如您所见,课程在这里:

包装内容

笔记

顺便说一句,您可以使用findjar.com找到您需要的 jar 或类。您可以检查此url以获取可以找到org.apache.batik.dom.svg.SAXSVGDocumentFactory类的信息。

在此处输入图像描述


推荐阅读