Problemas com JasperReport - Subreport

Ola pessoal, minha dúvida é a seuinte:

Desenvolvi um relatório em jasperreport utilizando o ireport, o relatório possui 3 subreports, testei no ireport e o relatório funcionou perfeitamente.

Agora estou tentando chamar o relatório direto de minha aplicação web com o seguinte código abaixo:

		   Map parametros = new HashMap();
		
		   String path = ApplicationManager.getRealPath();
		   
		   parametros.put("SUBREPORT_DIR", path+"\\relatorios_jasper\\entrega_cana\\");		   
		      		   
		   parametros.put("REPORT_CONNECTION", conn ) ;  
		   
   		   JasperDesign desenho = JRXmlLoader.load(path+"\\relatorios_jasper\\entrega_cana\\analitico.jrxml");
   		                                                                                                         
   		   JasperReport relatorio = JasperCompileManager.compileReport( desenho );	
		         		   
		   JasperPrint impressao = JasperFillManager.fillReport(relatorio, parametros, conn);
		   
              byte[] saida = JasperManager.printReportToPdf(impressao); //recupera os bytes do relatório criado

E é me retornado uma exception, como a seguinte:

java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:299)
at org.mentawai.filter.InjectionFilter.filter(InjectionFilter.java:154)
at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:139)
at org.mentawai.filter.InjectionFilter.filter(InjectionFilter.java:154)
at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:139)
at org.mentawai.filter.AuthenticationFilter.filter(AuthenticationFilter.java:125)
at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:139)
at org.mentawai.core.Controller.invokeAction(Controller.java:759)
at org.mentawai.core.Controller.service(Controller.java:624)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoSuchMethodError: org.codehaus.groovy.runtime.ScriptBytecodeAdapter.castToType(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
at total_fundoagricola_1256142463625_165903.(calculator_total_fundoagricola_1256142463625_165903)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at net.sf.jasperreports.engine.design.JRAbstractJavaCompiler.loadEvaluator(JRAbstractJavaCompiler.java:98)
at net.sf.jasperreports.engine.design.JRAbstractCompiler.loadEvaluator(JRAbstractCompiler.java:320)
at net.sf.jasperreports.engine.JasperCompileManager.loadEvaluator(JasperCompileManager.java:240)
at net.sf.jasperreports.engine.JasperCompileManager.loadEvaluator(JasperCompileManager.java:260)
at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateSubreport(JRFillSubreport.java:328)
at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluate(JRFillSubreport.java:266)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:256)
at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:482)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:1868)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupFooter(JRVerticalFiller.java:797)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupFooters(JRVerticalFiller.java:759)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportContent(JRVerticalFiller.java:263)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:114)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:921)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:824)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:59)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)
at ActionRelatorioEntregaCanaAnalitico.execute(ActionRelatorioEntregaCanaAnalitico.java:67)
… 26 more
04/11/2009 07:30:50 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet Controller threw exception
java.lang.NoSuchMethodError: org.codehaus.groovy.runtime.ScriptBytecodeAdapter.castToType(Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
at total_fundoagricola_1256142463625_165903.(calculator_total_fundoagricola_1256142463625_165903)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at net.sf.jasperreports.engine.design.JRAbstractJavaCompiler.loadEvaluator(JRAbstractJavaCompiler.java:98)
at net.sf.jasperreports.engine.design.JRAbstractCompiler.loadEvaluator(JRAbstractCompiler.java:320)
at net.sf.jasperreports.engine.JasperCompileManager.loadEvaluator(JasperCompileManager.java:240)
at net.sf.jasperreports.engine.JasperCompileManager.loadEvaluator(JasperCompileManager.java:260)
at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateSubreport(JRFillSubreport.java:328)
at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluate(JRFillSubreport.java:266)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:256)
at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:482)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:1868)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupFooter(JRVerticalFiller.java:797)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupFooters(JRVerticalFiller.java:759)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportContent(JRVerticalFiller.java:263)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:114)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:921)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:824)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:59)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)
at ActionRelatorioEntregaCanaAnalitico.execute(ActionRelatorioEntregaCanaAnalitico.java:67)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:299)
at org.mentawai.filter.InjectionFilter.filter(InjectionFilter.java:154)
at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:139)
at org.mentawai.filter.InjectionFilter.filter(InjectionFilter.java:154)
at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:139)
at org.mentawai.filter.AuthenticationFilter.filter(AuthenticationFilter.java:125)
at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:139)
at org.mentawai.core.Controller.invokeAction(Controller.java:759)
at org.mentawai.core.Controller.service(Controller.java:624)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)

O mais estranho é que tirando os subreports não é gerado essa exception, portando conclui que meu problema esta nos subreports.

Existe algum mecete?

Qualquer ajuda é bem vindo

Obrigado

Bom dia amigo!

Acredito que o erro seja em algum dado, em especial que esta chegando, e que talvez vc precise tratar de forma diferenciada.

Caused by: java.lang.NoSuchMethodError: org.codehaus.groovy.runtime.ScriptBytecodeAdapter.castToType(Ljava/lang/Object;Ljava/lang/ClassLjava/lang/Object;
at total_fundoagricola_1256142463625_165903.<init>(calculator_total_fundoagricola_1256142463625_165903) 

Particularmente eu optaria por dividir e conquistar… vá isolando o erro aos poucos…

  • Desabilite todos os relatorios até chegar ao cara que esta dando erro.
    a seguir verifique os dados que estao indo para o relatorio.

[]s