我使用Eclipse BIRT创建了简单的app来生成pdf报告。我将ReportEngine
文件夹中的jar加载到项目构建路径中。代码如下所示:
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
有人能告诉我我做错了什么,是否有任何教程可以开发用于在桌面应用上运行报告的代码?
答案 0 :(得分:0)
使用早期版本的birt_runtime解决了它,4.4.1具体。感谢Triplem的所有努力。