![](/img/trans.png)
[英]How can I fix the java.lang.NullPointerException in the given code?
[英]How can I fix java.lang.NullPointerException caused by TraceGovernor in Jaspersoft studio plugin?
我正在為Jaspersoft工作室的插件編寫最新版本。 當插件嘗試打開報告預覽時,插件崩潰了。 (來自插件)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工作室可以加載所有必要的庫)有誰知道,請問該怎么辦? 非常感謝。
我發現,它是由Jaspersoft工作室中的這個屬性引起的,它加載擴展,即加載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提交錯誤報告。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.