-1

我创建了一个简单的应用程序来使用 Eclipse BIRT 生成 pdf 报告。我将 jar 从ReportEngine文件夹加载到项目构建路径中。代码如下所示:

EngineConfig config;
try{
    config = new EngineConfig( );
    config.setEngineHome( "C:\\birt-runtime-2_6_2\\birt-runtime-2_6_2\\ReportEngine" );
    config.setLogConfig("c:/temp", Level.FINE);
    ReportEngine engine = new ReportEngine(config);
    engine.changeLogLevel( Level.WARNING );
    String name = "C:\\Users\\Djordje\\EclipseProjects\\ReportingApp\\new_report.rptdesign";
    IReportRunnable report = engine.openReportDesign(new FileInputStream(name  ));
    PDFRenderOption pdf = new PDFRenderOption();
    pdf.setOutputFormat("pdf");
    pdf.setOption(PDFRenderOption.PAGE_OVERFLOW, Integer.valueOf(PDFRenderOption.OUTPUT_TO_MULTIPLE_PAGES));
    pdf.setOption( IRenderOption.HTML_PAGINATION, Boolean.FALSE );
    pdf.setOutputFileName("D:/djole" +".pdf");
    IRunAndRenderTask task  = engine.createRunAndRenderTask(report);
    task.setRenderOption(pdf);
    task.run();
}catch ( Exception e1 ){
}

这是我在运行项目时遇到的错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/birt/report/engine/api/IRenderOption
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
    at java.lang.Class.privateGetMethodRecursive(Unknown Source)
    at java.lang.Class.getMethod0(Unknown Source)
    at java.lang.Class.getMethod(Unknown Source)
    at sun.launcher.LauncherHelper.validateMainClass(Unknown Source)
    at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.eclipse.birt.report.engine.api.IRenderOption
    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)
    ... 7 more

有人可以告诉我我做错了什么,是否有任何教程可以开发用于在桌面应用程序上运行报告的代码?

在此处输入图像描述 在此处输入图像描述 在此处输入图像描述 这是加载到 CLASSPATH 中的所有 jars 在此处输入图像描述

4

1 回答 1

0

通过使用早期版本的 birt_runtime 解决它,具体来说是 4.4.1。感谢三元组的所有努力。

于 2017-01-21T02:04:08.160 回答