Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Birt 对引擎API使用RunningCount聚合时出现NullPointerException_Birt - Fatal编程技术网

Birt 对引擎API使用RunningCount聚合时出现NullPointerException

Birt 对引擎API使用RunningCount聚合时出现NullPointerException,birt,Birt,我正在尝试升级我的应用程序以使用BIRT 3.7.1版本。目前我使用的是2.6.0版 我正在使用最新的稳定版本3.7.1 在测试过程中,我遇到了一个异常,报告使用了serial numberRunningCount聚合。当我将报表与报表引擎API一起使用时会出现此异常,如果我使用web viewer,则报表工作正常 我附加了一个小测试用例来重新创建这个问题。这包括报表设计文件和一个类,我在其中使用ReportEngine生成报表 请在下面查找错误日志: Jan 3, 2012 4:34:42 P

我正在尝试升级我的应用程序以使用BIRT 3.7.1版本。目前我使用的是2.6.0版

我正在使用最新的稳定版本3.7.1

在测试过程中,我遇到了一个异常,报告使用了serial numberRunningCount聚合。当我将报表与报表引擎API一起使用时会出现此异常,如果我使用web viewer,则报表工作正常

我附加了一个小测试用例来重新创建这个问题。这包括报表设计文件和一个类,我在其中使用ReportEngine生成报表

请在下面查找错误日志:

Jan 3, 2012 4:34:42 PM org.eclipse.birt.report.engine.api.impl.RunAndRenderTask doRun
SEVERE: An error happened while running the report. Cause:
java.lang.NullPointerException
    at org.eclipse.birt.core.util.IOUtil.writeInt(IOUtil.java:226)
    at org.eclipse.birt.core.util.IOUtil.writeObject(IOUtil.java:674)
    at org.eclipse.birt.data.engine.executor.transform.SimpleGroupCalculator.next(SimpleGroupCalculator.java:233)
    at org.eclipse.birt.data.engine.executor.transform.SimpleResultSet.next(SimpleResultSet.java:562)
    at org.eclipse.birt.data.engine.executor.transform.ResultSetWrapper.next(ResultSetWrapper.java:81)
    at org.eclipse.birt.data.engine.impl.ResultIterator.hasNextRow(ResultIterator.java:584)
    at org.eclipse.birt.data.engine.impl.ResultIterator.nextRow(ResultIterator.java:525)
    at org.eclipse.birt.data.engine.impl.ResultIterator.next(ResultIterator.java:475)
    at org.eclipse.birt.report.engine.data.dte.QueryResultSet.next(QueryResultSet.java:191)
    at org.eclipse.birt.report.engine.executor.ListingElementExecutor.hasNextChild(ListingElementExecutor.java:244)
    at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.hasNextChild(WrappedReportItemExecutor.java:86)
    at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.hasNextChild(WrappedReportItemExecutor.java:86)
    at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:62)
    at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)
    at org.eclipse.birt.report.engine.layout.html.HTMLTableLM.layoutChildren(HTMLTableLM.java:132)
    at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)
    at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)
    at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92)
    at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)
    at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:180)
    at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77)
    at com.eclipse.birt.test.RunningCountFieldTest.main(RunningCountFieldTest.java:52)
Exception in thread "main" org.eclipse.birt.report.engine.api.EngineException: Error happened while running the report.
    at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:196)
    at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77)
    at com.eclipse.birt.test.RunningCountFieldTest.main(RunningCountFieldTest.java:52)
Caused by: java.lang.NullPointerException
    at org.eclipse.birt.core.util.IOUtil.writeInt(IOUtil.java:226)
    at org.eclipse.birt.core.util.IOUtil.writeObject(IOUtil.java:674)
    at org.eclipse.birt.data.engine.executor.transform.SimpleGroupCalculator.next(SimpleGroupCalculator.java:233)
    at org.eclipse.birt.data.engine.executor.transform.SimpleResultSet.next(SimpleResultSet.java:562)
    at org.eclipse.birt.data.engine.executor.transform.ResultSetWrapper.next(ResultSetWrapper.java:81)
    at org.eclipse.birt.data.engine.impl.ResultIterator.hasNextRow(ResultIterator.java:584)
    at org.eclipse.birt.data.engine.impl.ResultIterator.nextRow(ResultIterator.java:525)
    at org.eclipse.birt.data.engine.impl.ResultIterator.next(ResultIterator.java:475)
    at org.eclipse.birt.report.engine.data.dte.QueryResultSet.next(QueryResultSet.java:191)
    at org.eclipse.birt.report.engine.executor.ListingElementExecutor.hasNextChild(ListingElementExecutor.java:244)
    at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.hasNextChild(WrappedReportItemExecutor.java:86)
    at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.hasNextChild(WrappedReportItemExecutor.java:86)
    at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:62)
    at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)
    at org.eclipse.birt.report.engine.layout.html.HTMLTableLM.layoutChildren(HTMLTableLM.java:132)
    at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)
    at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)
    at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92)
    at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)
    at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:180)
    ... 2 more
您可以在中找到一个示例程序来重新创建问题


请帮助我解决此问题。

我通过分离报表引擎API的运行任务和呈现任务来解决此问题

而不是使用IRunAndRenderTask task=engine.createrunandendertask设计;运行两个IRunTask runTask=engine.createRunTaskdesign;和IRenderTask renderTask=engine.createRenderTask报告文档;分开地