环境:jdk 1.6,tomcat 6.0
开发工具:MyEclipse 6.5
导入的jar文件:
coreapi.jar,engineapi.jar,scriptapi.jar,com.ibm.icu_3.8.1.v20080530.jar
代码的实现:
package test;import java.util.HashMap;
import java.util.logging.Level;import org.eclipse.birt.core.framework.Platform;
import org.eclipse.birt.report.engine.api.EngineConfig;
import org.eclipse.birt.report.engine.api.EngineException;
import org.eclipse.birt.report.engine.api.HTMLRenderOption;
import org.eclipse.birt.report.engine.api.IReportEngine;
import org.eclipse.birt.report.engine.api.IReportEngineFactory;
import org.eclipse.birt.report.engine.api.IReportRunnable;
import org.eclipse.birt.report.engine.api.IRunAndRenderTask;public class Test 
{

public static void main(String[] args) 
{
IReportEngine engine = null;
EngineConfig config = null;
try
{
config = new EngineConfig();
config.setEngineHome("E:/开发工具/BIRT/birt-runtime-2.1.3/birt-runtime-2_1_3/ReportEngine");
config.setLogConfig(null, Level.FINE);


Platform.startup(config);
IReportEngineFactory factory = (IReportEngineFactory) Platform.createFactoryObject(IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY);
engine = factory.createReportEngine(config);
engine.changeLogLevel(Level.WARNING);


catch (Exception ex)
{
ex.printStackTrace();
}


IReportRunnable design = null; try 
{
design = engine.openReportDesign("E:/Birt测试项目/Student.rptdesign");

catch (EngineException e) 
{
e.printStackTrace();
}
IRunAndRenderTask task = engine.createRunAndRenderTask(design);


HTMLRenderOption options = new HTMLRenderOption(); HashMap parameters = new HashMap();
String name = "myreportname";
String pvalue = "学员信息表";
parameters.put(name, pvalue);
task.setParameterValues(parameters);
task.validateParameters(); options.setOutputFileName("E:/Birt测试项目/student.pdf");
task.setRenderOption(options);

try 
{
task.run();

catch (EngineException e) 
{
e.printStackTrace();
}
task.close();
engine.shutdown();
Platform.shutdown();
System.out.println("Finished");
System.exit(0);
}
}抛出的异常:
2009-10-30 9:47:26 org.eclipse.birt.report.engine.api.impl.ReportEngineHelper openReportDesign
严重: invalid design file file:/E:/Birt测试项目/Student.rptdesign
org.eclipse.birt.report.engine.api.EngineException: The design file file:/E:/Birt测试项目/Student.rptdesign has error and can not be run.
at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.openReportDesign(ReportEngineHelper.java:248)
at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.openReportDesign(ReportEngineHelper.java:191)
at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.openReportDesign(ReportEngineHelper.java:125)
at org.eclipse.birt.report.engine.api.impl.ReportEngine.openReportDesign(ReportEngine.java:235)
at test.Test.main(Test.java:45)
Caused by: Error.DesignFileException.INVALID_XML - 1 errors found! 
1.)  ( line = 0, tag = null)  org.eclipse.birt.report.model.parser.DesignParserException (code = Error.DesignParserException.UNSUPPORTED_VERSION, message : The report file of version "3.2.20" is not supported.) at org.eclipse.birt.report.model.parser.ModuleReader.readModule(ModuleReader.java:112)
at org.eclipse.birt.report.model.parser.DesignReader.read(DesignReader.java:90)
at org.eclipse.birt.report.model.core.DesignSession.openDesign(DesignSession.java:278)
at org.eclipse.birt.report.model.api.SessionHandle.openDesign(SessionHandle.java:291)
at org.eclipse.birt.report.engine.parser.ReportParser.getDesignHandle(ReportParser.java:160)
at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.openReportDesign(ReportEngineHelper.java:243)
... 4 more
Exception in thread "main" java.lang.NoClassDefFoundError: org/mozilla/javascript/Scriptable
at org.eclipse.birt.report.engine.executor.ExecutionContext.<init>(ExecutionContext.java:291)
at org.eclipse.birt.report.engine.api.impl.EngineTask.<init>(EngineTask.java:137)
at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.<init>(RunAndRenderTask.java:62)
at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.createRunAndRenderTask(ReportEngineHelper.java:292)
at org.eclipse.birt.report.engine.api.impl.ReportEngine.createRunAndRenderTask(ReportEngine.java:299)
at test.Test.main(Test.java:51)