查看使用外部化连接配置文件的birt报告

时间:2016-03-20 10:50:37

标签: javascript java reporting birt

使用外部化连接配置文件查看birt报告时出现以下错误。

org.eclipse.birt.report.engine.api.EngineException: Error happened while running the report.
   ..............................
   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
   at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.LinkageError: Failed to link org/eclipse/core/resources/IResource (Module "deployment.qv.war:main" from Service Module Loader)
   at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:437)
   at org.jboss.modules.ModuleClassLoader.loadClassLocal(ModuleClassLoader.java:269)
   .......................................................
   at org.eclipse.birt.report.engine.presentation.ReportDocumentBuilder.build(ReportDocumentBuilder.java:258)
   at org.eclipse.birt.report.engine.api.impl.RunTask.doRun(RunTask.java:269)
... 73 more
Caused by: java.lang.NoClassDefFoundError: org/eclipse/core/runtime/jobs/ISchedulingRule
   at java.lang.ClassLoader.defineClass1(Native Method)
   at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
   at org.jboss.modules.ModuleClassLoader.doDefineOrLoadClass(ModuleClassLoader.java:353)
   at org.jboss.modules.ModuleClassLoader.defineClass(ModuleClassLoader.java:432)
... 113 more
Caused by: java.lang.ClassNotFoundException: org.eclipse.core.runtime.jobs.ISchedulingRule from [Module "deployment.qv.war:main" from Service Module Loader]
   at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:205)
   at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:455)

beforeOpen脚本上,我有一个以下脚本

var myresourcefolder = reportContext.getDesignHandle().getResourceFolder();
this.setExtensionProperty("OdaConnProfileStorePath", myresourcefolder + "/reports/reportName.cps")

我在创建报告时跟踪了this。我可能会错过什么?

1 个答案:

答案 0 :(得分:1)

如果您正在使用任务来呈现报告,则可以设置JDBC连接,而不必配置每个报告以使用它:

IReportRunnable runnable = engine.openReportDesign(design);
IRunAndRenderTask task = engine.createRunAndRenderTask(runnable);
//Where 'conn' is java.sql.Connection
task.getAppContext().put("OdaJDBCDriverPassInConnection", conn);
task.run();

另见: