java - 无法执行JasperReports : ClassNotFoundException

标签 java jasper-reports classnotfoundexception

尝试从 Eclipse 执行 JasperReports 6.3.1 简单报告:

package test.jaspertest;

import java.util.HashMap;

import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;

public class JasperTest {

    public static void main(String[] args) {
        System.out.println("Start");

        try {
            JasperReport jasperReport = JasperCompileManager.compileReport("reports/simple.xml");
            JasperPrint jasperPrint = JasperFillManager.fillReport(
                jasperReport,
                new HashMap(),
                new JREmptyDataSource());
            JasperExportManager.exportReportToPdfFile(jasperPrint, "reports/simple.pdf");
        } catch (JRException e) {
            e.printStackTrace();
        }

    }

}

发出此消息:

Apr 11, 2017 1:59:41 PM net.sf.jasperreports.extensions.DefaultExtensionsRegistry loadRegistries
WARNING: Extension resource jar:file:/C:/Portable%20Programs/eclipse/packages/jasperreports/dist/jasperreports-javaflow-6.3.1.jar!/jasperreports_extension.properties was found to be a duplicate of jar:file:/C:/Portable%20Programs/eclipse/packages/jasperreports/dist/jasperreports-6.3.1.jar!/jasperreports_extension.properties in classloader sun.misc.Launcher$AppClassLoader@1d16e93
Start
Exception in thread "main" java.lang.NoClassDefFoundError: com/lowagie/text/DocumentException
    at net.sf.jasperreports.engine.JasperExportManager.exportToPdfFile(JasperExportManager.java:150)
    at net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfFile(JasperExportManager.java:503)
    at test.jaspertest.JasperTest.main(JasperTest.java:24)
Caused by: java.lang.ClassNotFoundException: com.lowagie.text.DocumentException
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 3 more

Java 版本 1.8.0.121。我对 Java 不太熟悉,所以有人可以帮助我解决这个问题吗?提前致谢!

最佳答案

您在类路径中错过了 itext-2.1.7.jar。添加它,错误就会消失。 itext.jar 是 jarperReport 需要的依赖项

关于java - 无法执行JasperReports : ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43347180/

相关文章:

java - ClassNotFoundException:config_inputEventCompatProcessorOverrideClassName androidx,在 andoridx 上运行崩溃

java - 为什么我会收到 ClassNotFoundException?

java - Android - 创建后台服务以接收 PubNub 消息

java - Sigar API 抛出 "org.hyperic.sigar.SigarPermissionDeniedException"

jasper-reports - iReport - 在列中的整个组周围放置边框

java - 为什么从 java 运行 .jasper pdf 与 ireport Designer 5.6.0 看起来不同?

java - ClassNotFoundException 成为检查异常的原因

java - java中Arrays.sort()中的无效错误

java - 在不同文件中的类之间发送数据

java - 无法在我的 web 应用程序中显示我的 pdf(不在阻止模式下)