¿Cómo puedo solucionar java.lang.NullPointerException causado por TraceGovernor en el plugin Jaspersoft studio?
eclipse-plugin jasper-reports (1)
Estoy escribiendo un complemento para el estudio Jaspersoft actualizado. El complemento falla, cuando intenta abrir la vista previa del informe. (desde el complemento) Stack Trace de 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)
El código que no está en la pila es mío. Creo que no puede cargar las clases necesarias. (Jaspersoft Studio puede cargar todas las bibliotecas necesarias) ¿Alguien sabe qué hacer con él, por favor? Muchas gracias.
Editar
He descubierto que es causado por esta propiedad en Jaspersoft studio, que carga la extensión, que está cargando TraceGovernor
. Es para depurar informes, pero no es compatible con mi complemento.
net.sf.jasperreports.extension.registry.factory.governor=com.jaspersoft.studio.debug.TraceGovernorExtensionsRegistryFactory
Lo he resuelto quitándolo del paquete java com.jaspersoft.studio_6.3.0.final.jar/jasperreports_extension.properties
, pero me gustaría algún método no destructivo, cómo deshabilitar esta extensión.
El código fuente relevante está disponible en:
El NPE parece ser el resultado de un campo jrConfig
no jrConfig
en la clase TraceGovernor
, que se inicializaría si getJasperReportsContext()
del ScriptletFactoryContext context
en el constructor de TraceGovernor
devolvió una instanceof JasperReportsConfiguration
.
Puede verificar y navegar en el repositorio para investigar más a fondo el motivo del NPE. De lo contrario, solo puedo sugerir que presente un informe de error con JasperSoft.