发布时间:2024-02-21 16:30
engine = factory.createReportEngine(config);
======================================分割线======================================
在设计BIRT报表系统的时候,调用报表引擎,但是在运行的时候,出现错误:
exception is java.lang.NullPointerException
仔细排查,发现是在这一步:
IReportEngineFactory factory = (IReportEngineFactory) Platform
.createFactoryObject(IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY);
获取factory的时候,获取的值为空:
google了很久,发现国外很多人也出现同样的问题,有些是和平台版本有关,比如在ios,Linux上运行正常,只在windows上有错:
我也遇到同样错误,最终solution由两个:
1.去网上下载一个同样版本的birt-runtime,将其中的ReportEngine替换掉自己的工程里面的报表引擎;
2.这个方法解决了我的问题,但是不一定对其他朋友适用:
删除工程中:
ReportEngine\\configuration\\org.eclipse.core.runtime\\.manager
目录下的所有文件。
再次运行,factory(Platform.createFactoryObject)就不为空了。