Bug do JasperViewer [RESOLVIDO]

21 respostas
andii.brunetta

Olá pessoal! Estou mexendo com relatórios feito no iReport 4.0.1 num projeto JEE 6.
Mas descobri um certo bug no JasperViewer, e não estou conseguindo achar outra alternativa…
Inicialmente ele gera o relatório de boa, mas se eu peço pra gerar novamente, as vezes gera sem problemas e as vezes dá um certo erro.
O código que dá erro é na segunda linha:

JasperFillManager.fillReportToFile(path + ".jasper", path + ".jrprint", parametros, jrRS); JasperViewer.viewReport(path + ".jrprint", false, false);
O erro é esse:

GRAVE: sun.awt.X11.XException: Cannot write XdndAware property

Tudo o que eu já pesquisei diz ser um bug, mas não encontro nenhuma alternativa para usar ele.
Se alguém tiver uma dica, fico agradecida.

21 Respostas

T

já verificou se versões antigas da esse problema?

andii.brunetta

Olá Two_, não pude responder antes porque não sabia certo qual era a outra versão que eu tinha testado…
Mas então, eu testei também com a versão 3.7.6

Se alguém souber de uma versão que funcione já ajuda! :slight_smile:

TheKill

Olá,

Eu uso a 3.7.2 e nunca tive este problema :wink:

andii.brunetta

TheKill, obrigada por sua dica… Vou dar uma olhada nessa versão também…
Só uma dúvida, talvez meio idiota de minha parte, eu preciso necessariamente usar o iReport da mesma versão do JasperReport?
Por exemplo eu usaria o iReport 4.0.1 e as bibliotecas do JasperReport no meu projeto na versão 3.7.2

TheKill

Sim. Concerteza

andii.brunetta

ok… vou fazer uns testes aqui, novamente obrigada :slight_smile:

andii.brunetta

Aiai…
Estou com um problema ainda, baixei tanto o iReport como o JasperReport 3.7.2,
mas…
Quando coloquei as libs no projeto, ele não encontra os imports para as seguintes linhas:

JRResultSetDataSource jrRS = new JRResultSetDataSource(rs); JasperFillManager.fillReportToFile(path + ".jasper", path + ".jrprint", parametros, jrRS); JasperViewer.viewReport(path + ".jrprint", false, false);
Por acaso é diferente?

TheKill

Não… estão corretos, colocou todas as libs ?

andii.brunetta

Coloquei todas as libs que estavam dentro de jasperreports->lib … um total de 48 libs… e nada!

andii.brunetta

a menos que baixei o jasperReports errado… :S

TheKill

re-compilou seu relatorio para a versao 3.7.2 ?

andii.brunetta

Sim. mas nem consegui executar o projeto ainda… não encontra os imports para aquelas linhas que mostrei acima

andii.brunetta

Consegui acertar as libs… mas continua o mesmo problema, se eu clico a primeira vez, funciona de boa, aparece o relatorio bonitinho… Mas se eu clico outras vezes seguida, as vezes funciona as vezes dá o mesmo erro… no primeiro teste que eu fiz, funcionou na primeira vez, a segunda vez que eu cliquei já deu o mesmo erro! :S

TheKill

muito estranho viu,

não é normal isso… tem algo de errado no seu relatorio

andii.brunetta

Também acredito que isso não seja normal… mas acho que se fosse problema no relatorio não geraria ele corretamente algumas vezes… eu acho que o problema está sendo na hora de montar o JasperViewer, pois se vc ver o erro, é algo relacionado ao awt.

TheKill

Isto ocorre com todos os relatórios???

ps.: eu uxo o iReport diretooooo, a mais de 1,5 anos… e nunca tive este problema, testes de mais de 15x encima dos mesmos relatórios para conferir resultados…

TheKill

vc usa Swing ?? utiliza AWT certo? pode ser algo vinculado ao AWT que estejas usando

andii.brunetta

Desculpa a demora, acabei de chegar na empresa…
Então, o projeto que eu estou fazendo é em Java ee 6.
O awt deve ser da janela que é criada do JasperViewer.

TheKill

Pode faze um teste usando Swing ?

Acho que o problema esteja vinculado ao AWT

andii.brunetta

TheKill, fiz o teste usando Swing como vc deu a idéia…
realmente com Swing funciona perfeitamente!
Vou ver a possibilidade de conseguir abrir um PDF numa outra aba do navegador.
Já que por esse teste dá pra ver o problema está na junção do Java EE com o awt.

edit: Na realidade quando clica repetidamente no botão do swing, ainda dá esse erro… mas a chance de dar o erro é bemmmm menor.

andii.brunetta

Olá Pessoal!
Levando em consideração que o meu projeto é web, acabei optando por abrir os relatorios em uma aba do navegador…
Assim acabou meu problema com o JasperViewer, deixo a solução caso alguém precisar:
Peguei a solução daqui!
Usei como base o método:

Apenas mudei a nomenclatura dos atributos e o nome do método, e arrumei algumas coisas de acordo com o nosso projeto aqui, e tirei essa parte do ActionEvent (não foi necessário usar ele)…
No JSF ficou assim:

Criado 16 de abril de 2011
Ultima resposta 20 de abr. de 2011
Respostas 21
Participantes 3