我的代码是这样写的:package com.xuexi_report.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 TestReport 
{
 @SuppressWarnings("unchecked")
 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");   //控制台包的错误就是这个birt设计文件有问题,但是这个设计文件时工具自动生成的,没有什么问题丫,就连接了一下SQL200数据库。
  } 
  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-29 14:46:20 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 com.xuexi_report.test.TestReport.main(TestReport.java:43)
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 com.xuexi_report.test.TestReport.main(TestReport
.java:49)

解决方案 »

  1.   

    你这个东西的问题貌似挺多的:
    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.) 版本不支持...Exception in thread "main" java.lang.NoClassDefFoundError: org/mozilla/javascript/Scriptable 找不到这个类...