Problema iReport

25 respostas
rodrigo.fai

Olá pessoal!

Estou com um problema que não sei o que pode estar ocasionando…
Eu tenho um relatório onde é exibido os participantes de um determinado curso. Eu faço a consulta no banco de dados e passo como parâmetro a lista para a geração do relatório.
Após chamar o método para exibição do relatório o mesmo não é exibido, ou seja, a página fica carregando eternamente e não é exibida nenhuma mensagem de erro!!!

Alguém sabe me dizer o que pode estar acontecendo?

Obrigado.

25 Respostas

Metaleiro

[color=darkblue]
1º - Todos os .jar estão corretos e são compativeis ?

2º - Já tentou testar em uma página simples, simples como um textfield recebendo apenas um parâmetro ?

3º - Os nomes dos campos estão corretos com os que são enviados para eles no list ?

4º - Já tentou capturar a Exception ?

5º - caso não gere Exception tente Throwable, Exception herda de Throwable, comigo já ocorreu de não capturar pela exception
[/color]

rodrigo.fai

Metaleiro:
[color=darkblue]
1º - Todos os .jar estão corretos e são compativeis ?

2º - Já tentou testar em uma página simples, simples como um textfield recebendo apenas um parâmetro ?

3º - Os nomes dos campos estão corretos com os que são enviados para eles no list ?

4º - Já tentou capturar a Exception ?

5º - caso não gere Exception tente Throwable, Exception herda de Throwable, comigo já ocorreu de não capturar pela exception
[/color]

Já verifiquei tudo e nada!!! Ta muito estranho isso viu…
Tenho uma suspeita que há algo de errado com o .jarper pois já testei utilizando “outro” relatório, e ocorreu normalmente, ou seja, o relatório foi exibido.

Metaleiro

[color=darkblue]Já tentou recompilar o jasper, veja no IReport se não está ocorrendo algum erro com .jrxml, coisa que eu acho muito difícil pois senão ele nao estaria gerando o .jasper, ele tem subreport ? o subreport não está gerando um arquivo muito grande, por exemplo um erro na query e gera muitos dados para o subreport [/color]

rodrigo.fai

Metaleiro:
rodrigo.fai:

Já verifiquei tudo e nada!!! Ta muito estranho isso viu…
Tenho uma suspeita que há algo de errado com o .jarper pois já testei utilizando “outro” relatório, e ocorreu normalmente, ou seja, o relatório foi exibido.

[color=darkblue]Já tentou recompilar o jasper, veja no IReport se não está ocorrendo algum erro com .jrxml, coisa que eu acho muito difícil pois senão ele nao estaria gerando o .jasper, ele tem subreport ? o subreport não está gerando um arquivo muito grande, por exemplo um erro na query e gera muitos dados para o subreport [/color]

Não ocorre nenhum erro de compilação e não têm subrelatório!

Metaleiro

[color=darkblue]
Acho que essa é a última que consigo pensar, se o mesmo fonte funciona para outro relatório, então provavelmente não é o fonte, o que pode ser são os dados na list, geralmente eu envio os dados em forma de HashMap dentro de uma list para o .jasper, assim sendo faço isso:
[/color]

HashMap map = new HashMap();
map.put("valor_campo", "1000");

list.add(map);

JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(list);
JasperPrint impressao = JasperFillManager.fillReport(jr, null,  ds);

[color=darkblue] Faço esse processo, verifique o seguinte nessa hora map.put(“valor_campo”, “1000”) não ocorre algo do tipo map.put(“valor_errado”, “1000”) e isso não vá para o .jasper e jasper, ele fique esperando “valor_campo” e tente enviar “valor_errado”[/color]

rodrigo.fai

Metaleiro:
[color=darkblue]
Acho que essa é a última que consigo pensar, se o mesmo fonte funciona para outro relatório, então provavelmente não é o fonte, o que pode ser são os dados na list, geralmente eu envio os dados em forma de HashMap dentro de uma list para o .jasper, assim sendo faço isso:
[/color]

HashMap map = new HashMap();
map.put("valor_campo", "1000");

list.add(map);

JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(list);
JasperPrint impressao = JasperFillManager.fillReport(jr, null,  ds);

[color=darkblue] Faço esse processo, verifique o seguinte nessa hora map.put(“valor_campo”, “1000”) não ocorre algo do tipo map.put(“valor_errado”, “1000”) e isso não vá para o .jasper e jasper, ele fique esperando “valor_campo” e tente enviar “valor_errado”[/color]

Não sei se irá resolver, acredito que não pois todos relatórios que mando exibir eu mando uma lista!

Metaleiro

rodrigo.fai:

Não sei se irá resolver, acredito que não pois todos relatórios que mando exibir eu mando uma lista!

[color=darkblue] Mas você envia o que ? você tem que enviar uma “Lista” do tipo “Key”, “Value”, porque o .jasper interpreta uma lista com “nome_campo”, “valor”, tem que ser uma lista desse tipo, um list com um bean, ou da forma que descrevi, se você está enviando uma lista só com valor poderá ocorrer algum erro.

Mas mesmo assim é muito estranho, pois ele lançaria uma Exception de que não encontrou o valor[/color]

rodrigo.fai

Metaleiro:
rodrigo.fai:

Não sei se irá resolver, acredito que não pois todos relatórios que mando exibir eu mando uma lista!

[color=darkblue] Mas você envia o que ? você tem que enviar uma “Lista” do tipo “Key”, “Value”, porque o .jasper interpreta uma lista com “nome_campo”, “valor”, tem que ser uma lista desse tipo, um list com um bean, ou da forma que descrevi, se você está enviando uma lista só com valor poderá ocorrer algum erro.

Mas mesmo assim é muito estranho, pois ele lançaria uma Exception de que não encontrou o valor[/color]

Pois é… é estranho mesmo!!!

Eu envio uma List com Bean, da mesma forma que trabalho com os demais relatórios que tenho no sistema!!!

Não sei mais oque fazer…

Metaleiro

[color=darkblue]Não sei se é possível, mas em último caso o que eu faria seria eliminação, tiraria um campo e testaria sem ele, porque no jasper se um bean enviar algo a mais é desprezado, faria isso e iria tirando os campos progressivamente e testando é muito estranho, se conseguir resolver posta ai [/color]

rodrigo.fai

Já criei o Bean com um campo apenas e o relatorio também!!! Mesmo assim nao funcionou!!!

Dê uma olhada na mensagem que é exibida no console após a tentativa de exibição do relatório…

20/07/2009 15:22:24 org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:sicp' did not find a matching property.
20/07/2009 15:22:24 org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jre6\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre6/bin/client;C:/Program Files/Java/jre6/bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;B:\;C:\;D:\;E:\;F:\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;.;C:\Program Files\Java\jdk1.6.0_14;C:\Program Files\Apache Software Foundation\Tomcat 6.0;C:\Program Files\Apache Software Foundation\Tomcat 6.0;C:\Program Files\apache-ant-1.7.1;C:\Program Files\Java\jre6;C:\Program Files\Java\jdk1.6.0_14\lib\tools.jar;C:\Program Files\Java\jre6\lib\ext\QTJava.zip;;C:\Program Files\PostgreSQL.8.3;C:\Program Files\PostgreSQL.8.3\bin;C:\Program Files\Sun\JavaDB\bin;
20/07/2009 15:22:24 org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-8080
20/07/2009 15:22:24 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 359 ms
20/07/2009 15:22:24 org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
20/07/2009 15:22:24 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.18
20/07/2009 15:22:24 org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(C:\java\workpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\sicp\WEB-INF\lib\servlet-api-2.4.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
20/07/2009 15:22:26 org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-8080
20/07/2009 15:22:26 org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
20/07/2009 15:22:26 org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/39  config=null
20/07/2009 15:22:26 org.apache.catalina.startup.Catalina start
INFO: Server startup in 2338 ms
15:22:29,638 FATAL [DaoFactory          ] Session was already there and open! Disconnecting...
15:22:29,640 FATAL [DaoFactory          ] Session killed with a disconnect..
20/07/2009 16:01:38 org.apache.catalina.core.StandardContext reload
INFO: Reloading this Context has started
20/07/2009 16:01:38 org.apache.catalina.core.StandardWrapper unload
INFO: Waiting for 1 instance(s) to be deallocated
20/07/2009 16:01:39 org.apache.catalina.core.StandardWrapper unload
INFO: Waiting for 1 instance(s) to be deallocated
20/07/2009 16:01:40 org.apache.catalina.core.StandardWrapper unload
INFO: Waiting for 1 instance(s) to be deallocated
log4j:ERROR LogMananger.repositorySelector was null likely due to error in class reloading, using NOPLoggerRepository.
20/07/2009 16:01:41 org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(C:\java\workpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\sicp\WEB-INF\lib\servlet-api-2.4.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
20/07/2009 16:02:03 org.apache.catalina.core.StandardContext reload
INFO: Reloading this Context has started
log4j:ERROR LogMananger.repositorySelector was null likely due to error in class reloading, using NOPLoggerRepository.
Exception in thread "Timer-0" java.lang.NullPointerException
	at com.mchange.v2.log.log4j.Log4jMLog$Log4jMLogger.isLoggable(Log4jMLog.java:257)
	at com.mchange.v2.resourcepool.BasicResourcePool$CullTask.run(BasicResourcePool.java:1934)
	at java.util.TimerThread.mainLoop(Unknown Source)
	at java.util.TimerThread.run(Unknown Source)
java.lang.NullPointerException
	at org.apache.xerces.impl.dv.dtd.DTDDVFactoryImpl.getBuiltInDV(Unknown Source)
	at org.apache.xerces.impl.dtd.XMLDTDValidator.init(Unknown Source)
	at org.apache.xerces.impl.dtd.XMLDTDValidator.reset(Unknown Source)
	at org.apache.xerces.parsers.XML11Configuration.reset(Unknown Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
	at org.dom4j.io.SAXReader.read(SAXReader.java:465)
	at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1518)
	at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:1035)
	at org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:64)
	at org.hibernate.cfg.Configuration.configure(Configuration.java:1462)
	at org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:1017)
	at org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:64)
	at org.hibernate.cfg.Configuration.configure(Configuration.java:1448)
	at org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:1011)
	at br.com.faespsenar.utilities.HibernateUtil.<clinit>(HibernateUtil.java:110)
	at sun.misc.Unsafe.ensureClassInitialized(Native Method)
	at sun.reflect.UnsafeFieldAccessorFactory.newFieldAccessor(Unknown Source)
	at sun.reflect.ReflectionFactory.newFieldAccessor(Unknown Source)
	at java.lang.reflect.Field.acquireFieldAccessor(Unknown Source)
	at java.lang.reflect.Field.getFieldAccessor(Unknown Source)
	at java.lang.reflect.Field.set(Unknown Source)
	at org.apache.catalina.loader.WebappClassLoader.clearReferences(WebappClassLoader.java:1644)
	at org.apache.catalina.loader.WebappClassLoader.stop(WebappClassLoader.java:1524)
	at org.apache.catalina.loader.WebappLoader.stop(WebappLoader.java:707)
	at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4557)
	at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3093)
	at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:404)
	at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1309)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1601)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1610)
	at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1590)
	at java.lang.Thread.run(Unknown Source)
20/07/2009 16:02:03 org.apache.catalina.loader.WebappClassLoader validateJarFile
INFO: validateJarFile(C:\java\workpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\sicp\WEB-INF\lib\servlet-api-2.4.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
Metaleiro

[color=darkblue]Não sei se ajuda, mas eu não uso aqui o servlet-api-2.4.jar, uso um add library : [/color]

rodrigo.fai

Esse .jar já está no meu classpath!!! Eu já tinha verificado isso!!!

Metaleiro

rodrigo.fai:

Esse .jar já está no meu classpath!!! Eu já tinha verificado isso!!!

[color=darkblue]É uma opção sua, mas tentaria tirá-lo , adicionar as librarys como coloquei na imagem acima, quelquer coisa é só colocar novamente, apenas para teste fazendo isso deixei de usar uma série de .jars, alguns faziam ocorrer coisas do gênero, no IReport[/color]

rodrigo.fai

Metaleiro:
rodrigo.fai:

Esse .jar já está no meu classpath!!! Eu já tinha verificado isso!!!

[color=darkblue]É uma opção sua, mas tentaria tirá-lo , adicionar as librarys como coloquei na imagem acima, quelquer coisa é só colocar novamente, apenas para teste fazendo isso deixei de usar uma série de .jars, alguns faziam ocorrer coisas do gênero, no IReport[/color]

Ta certo…

mais qual tipo de biblioteca que você adiciona? Quando clico em “add library” pede para selecionar o tipo de library que desejo adicionar…

Metaleiro

[color=darkblue]
Server Runtime
EAR Libraries
Web App Libraries
JRE System Library
[/color]

[color=darkblue]Uma vez me ocorreu esse erro aqui e a única coisa que estava errado é que as versões dos .jar não eram compativeis umas com as outras, mas seus outros relatórios estão corretos, é bem tentar, mas acredito que não seja isso : [/color]

[RESOLVIDO] Document root element “jasperReport”, must match DOCTYPE root ?

rodrigo.fai

Metaleiro:
[color=darkblue]
Server Runtime
EAR Libraries
Web App Libraries
JRE System Library
[/color]

[color=darkblue]Uma vez me ocorreu esse erro aqui e a única coisa que estava errado é que as versões dos .jar não eram compativeis umas com as outras, mas seus outros relatórios estão corretos, é bem tentar, mas acredito que não seja isso : [/color]

[RESOLVIDO] Document root element “jasperReport”, must match DOCTYPE root ?

Na verdade não entendi essa solução sua!!! onde fica o .jar afinal de contas???

Metaleiro

[color=darkblue] No Tomcat(JBoss), JRE, você vai usar os “.jar” nativos[/color]

rodrigo.fai

Entendi… mais mesmo assim não funcionou!!!

Metaleiro

[color=darkblue] A última coisa que posso sugerir é testar campo por campo até encontrar o erro, tente debugar a aplicação e dê uma olhada nos relatórios que já estão corretos, se conseguir achar a solução tente postar o erro.[/color]

rodrigo.fai

To quase desistindo desse relatório viu… já tentei tudo que me sugeriu e nada! Perguntei para o pessoal aqui da empresa e nada também, acharam muito estranho mesmo!!!
Não sei mais o que fazer!

Metaleiro

[color=darkblue] Muito estranho, acho que está sendo mais trabalhoso do que começar um novo, mas faça campo por campo é possível fazer isso no IReport, por ele espera “nome_campo” indiferente a quantidade de dados que vierem, vai setando campo por campo, só assim.[/color]

rodrigo.fai

Pra você ter uma ideia eu criei um relatório com “nenhum” campo. Somente textos estáticos!!! E não foi exibido mesmo assim!

Metaleiro

rodrigo.fai:

Pra você ter uma ideia eu criei um relatório com “nenhum” campo. Somente textos estáticos!!! E não foi exibido mesmo assim!

[color=darkblue] Envia o código, que tento dar uma olhada[/color]

rodrigo.fai

Metaleiro:
rodrigo.fai:

Pra você ter uma ideia eu criei um relatório com “nenhum” campo. Somente textos estáticos!!! E não foi exibido mesmo assim!

[color=darkblue] Envia o código, que tento dar uma olhada[/color]


acredito que não seja problema no código, pois os demais relatórios utilizam códigos iguais a este!

Simplismente o relatório não é exibido, não exibe nenhuma mensagem de excecao, ou seja, nada, a página fica no status de carregando eternamente…

Metaleiro

rodrigo.fai:
Metaleiro:
rodrigo.fai:

Pra você ter uma ideia eu criei um relatório com “nenhum” campo. Somente textos estáticos!!! E não foi exibido mesmo assim!

[color=darkblue] Envia o código, que tento dar uma olhada[/color]


acredito que não seja problema no código, pois os demais relatórios utilizam códigos iguais a este!

Simplismente o relatório não é exibido, não exibe nenhuma mensagem de excecao, ou seja, nada, a página fica no status de carregando eternamente…

[color=darkblue]Acho que só resta o que eu falei então, começa outro relatório, é óbvio que terão os mesmos dados, faz um campo de cada vez e vai testando até fim[/color]

Criado 20 de julho de 2009
Ultima resposta 21 de jul. de 2009
Respostas 25
Participantes 2