如何修复Jaspersoft studio插件中由TraceGovernor引起的java.lang.NullPointerException?
我正在为Jaspersoft studio编写最新的插件。插件在试图打开报表预览时崩溃。(来自插件)java.lang.NullPoInPointException的堆栈跟踪:如何修复Jaspersoft studio插件中由TraceGovernor引起的java.lang.NullPointerException?,java,nullpointerexception,eclipse-plugin,jasper-reports,jaspersoft-studio,Java,Nullpointerexception,Eclipse Plugin,Jasper Reports,Jaspersoft Studio,我正在为Jaspersoft studio编写最新的插件。插件在试图打开报表预览时崩溃。(来自插件)java.lang.NullPoInPointException的堆栈跟踪: com.jaspersoft.studio.debug.TraceGovernor.setup(TraceGovernor.java:111) com.jaspersoft.studio.debug.TraceGovernor.initMaps(TraceGovernor.java:118) com.jaspersoft
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中的这个属性引起的,该属性加载扩展,即加载
TraceGovernor
。它用于调试报告,但与我的插件不兼容
net.sf.jasperreports.extension.registry.factory.governor=com.jaspersoft.studio.debug.TraceGovernorExtensionsRegistryFactory
通过从java包
com.jaspersoft.studio_6.3.0.final.jar\jasperreports\u extension.properties
中删除它,我已经解决了这个问题,但是我想要一些非破坏性的方法,如何禁用这个扩展 相关源代码可从以下网址获得:
NPE似乎是TraceGovernor
类中未初始化的jrConfig
字段的结果,该字段将在getJasperReportsContext()中初始化TraceGovernor
的构造函数中的ScriptletFactoryContext上下文的返回了JasperReportsConfiguration的实例
您可以签出并导航存储库,以进一步调查NPE的原因。否则,我只能建议向JasperSoft提交错误报告。如果不查看代码,很难为您提供帮助。你试过调试吗?你从哪里得到的NPE我认为它无法加载必要的类。
-您检查了类加载器吗?我添加了一些附加信息。这应该是JasperSoft提交的错误报告。