GRAILS e jasper não funciona no tomcat
22/11/2011 11:39
0
Bom dia pessoal,

A aplicação Grails usa relatórios gerados pelo jasperreports 2.0.5, a aplicação localmente funciona sem problemas, gera o relatório em PDF.

Eu gero WAR, mas quando vou acessa-lo no apache-tomcat-6.0.33 dá o seguinte erro abaixo:


Alguém poderia ajudar?

Obrigado,

Error Details
Error 500: Executing action [index] of controller [JasperController] in plugin [jasper] caused exception: net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression : Source text : new JRBeanCollectionDataSource($P{REPORT_DATA_SOURCE}.getData())
Servlet: grails
URI: /in-manager/grails/jasper/index.dispatch
Exception Message: No signature of method: net.sf.jasperreports.engine.data.JRBeanCollectionDataSource.getData() is applicable for argument types: () values: [] Possible solutions: getAt(java.lang.String), getClass(), iterator(), putAt(java.lang.String, java.lang.Object), next()
Caused by: No signature of method: net.sf.jasperreports.engine.data.JRBeanCollectionDataSource.getData() is applicable for argument types: () values: [] Possible solutions: getAt(java.lang.String), getClass(), iterator(), putAt(java.lang.String, java.lang.Object), next()
Class: JasperController
At Line: [55]
Code Snippet:


Stack Trace:
groovy.lang.MissingMethodException: No signature of method: net.sf.jasperreports.engine.data.JRBeanCollectionDataSource.getData() is applicable for argument types: () values: []
Possible solutions: getAt(java.lang.String), getClass(), iterator(), putAt(java.lang.String, java.lang.Object), next()

at Reembolso_1295624789826_305122.evaluate(calculator_Reembolso_1295624789826_305122:346)

at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:186)

at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:537)

at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:505)

at net.sf.jasperreports.engine.fill.JRFillElement.evaluateExpression(JRFillElement.java:813)

at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateSubreport(JRFillSubreport.java:337)

at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluate(JRFillSubreport.java:257)

at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:275)

at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:426)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:1380)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupFooter(JRVerticalFiller.java:753)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillGroupFooters(JRVerticalFiller.java:716)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportEnd(JRVerticalFiller.java:284)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:120)

at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:895)

at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:817)

at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:89)

at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:601)

at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:582)

at net.sf.jasperreports.engine.JasperFillManager$fillReport.call(Unknown Source)

at JasperService$_closure1.doCall(JasperService.groovy:79)

at JasperController$_closure2.doCall(JasperController.groovy:84)

at JasperController.invokeMethod(JasperController.groovy)

at JasperController$_closure1.doCall(JasperController.groovy:55)

at JasperController$_closure1.doCall(JasperController.groovy)

at java.lang.Thread.run(Thread.java:679)

Tags: GRAILS e jasper não funciona no tomcat


1
[RESOLVIDO]

Pessoal,

No meu diretório /home/xxxx/.grails/1.3.7/projects/meuprojeto/plugins/jasper-0.9.7

Estava o jar jasperreports-2.0.5.jar

Eu apaguei ele e coloquei o jar jasperreports-3.1.2.jar

Executei o grails clean, gerei o .war e subi no tomcat.

E funcionou.

Abs
22/11/2011 12:48


0
Igor, pra estes casos, existe uma ferramenta maravilhosa chamada tattletale da JBoss.

Ela funciona da seguinte maneira: você descompacta o seu war num diretório qualquer. Pega o seu código fonte da aplicação, e transforme em um jar (simplesmente compacte tudo com um Winzip da vida e renomeie para .jar).

Em seguida, pegue os jars presentes no war, e copie para um diretório de sua escolha.

Executa o tattletale neste diretório. Ele vai te dizer todos os conflitos de dependências existente no seu projeto. Uma mão na roda o bichinho!



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto