我正在为Jaspersoft Studio编写最新的插件。尝试打开报告预览时,插件崩溃。(来自插件)java.lang.NullPoinpointerException的堆栈跟踪:
com.jaspersoft.studio.debug.TraceGovernor.setup(TraceGovernor.java:111)
com.jaspersoft.studio.debug.TraceGovernor.initMaps(TraceGovernor.java:118)
com.jaspersoft.studio.debug.TraceGovernor.beforeReportInit(TraceGovernor.java:162)
net.sf.jasperreports.engine.fill.JRFillDatasetScriptlet.beforeReportInit(JRFillDatasetScriptlet.java:74)
net.sf.jasperreports.engine.JRAbstractScriptlet.callBeforeReportInit(JRAbstractScriptlet.java:176)
net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:236)
net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:115)
net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:580)
net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:414)
net.sf.jasperreports.engine.fill.BaseFillHandle$ReportFill.run(BaseFillHandle.java:119)
java.lang.Thread.run(Thread.java:745)
堆栈跟踪中没有代码是我的。我认为它无法加载必要的类。(Jaspersoft Studio可以加载所有必要的库)有人知道吗,请问该怎么办?非常感谢。
我发现,这是由Jaspersoft studio中的此属性引起的,该属性加载了扩展名,即loading TraceGovernor
。用于调试报告,但与我的插件不兼容。
net.sf.jasperreports.extension.registry.factory.governor=com.jaspersoft.studio.debug.TraceGovernorExtensionsRegistryFactory
我已经通过从java包中删除它解决了这一问题com.jaspersoft.studio_6.3.0.final.jar\jasperreports_extension.properties
,但是我想使用一些非破坏性的方法来禁用此扩展。
相关源代码可在以下位置获得:
在NPE似乎是一个未初始化的结果,jrConfig
在该领域TraceGovernor
类,这将被初始化过getJasperReportsContext()
的ScriptletFactoryContext context
在构造函数TraceGovernor
返回instanceof JasperReportsConfiguration
。
您可以签出并浏览存储库以进一步调查NPE的原因。否则,我只能建议向JasperSoft提交错误报告。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句