estou terminando uma aplicação, só que quando chamo o *.jasper esta dando erro.
Segue o codigo:
try{this.conexao=FabricaConexao.obterConexaoRelatorio();Stringurl=System.getProperty("user.dir")+"/src/Relatorios/"+nomeRelatorio+".jasper";JasperPrintjp=JasperFillManager.fillReport(url,newHashMap(),this.conexao.getConnection());JasperViewer.viewReport(jp,false);this.conexao.close();}catch(Exceptionex){thrownewMinhaException("Não foi possivel gerar relatório.\nMSG:"+ex.getMessage());}
"Quando voce instala o iReport, adiciona algumas bibliotecas no seu projeto.
Se voce atualizar o iReport, va ate as bibliotecas do seu projeto
(botao direito no projeto -> Propriedades -> Bibliotecas [Netbeans])
e verifique quais as versoes que estao adicionadas e se existem mais
novas na pasta …/iReport/ireport/modules/ext/
Eu tive formatar o pc, baixei uma nova versao do iReport
e tive o problema. Depois que atualizei os jars iText-2.1.7, a jasperreports-3.7.2.jar
funcionou "
rrmartins
Bom dia Tino Berto,
Estou utilizando a versao iReport-3.7.4 do Ireport,
E as Libs mencionadas no post, tambem esta sendo usadas.
Se tiver algum projeto ai funcionando, me passe para eu comparar com o que esta dando erro.
J
joyle
Cria um pacote dentro do seu projeto só para armazenar os .jasper's. Aí vc lê dentro do seu .jar o relatório.
Ex:
publicvoidrelatorioX(StringDATA_INICIO,StringDATA_FIM,charTIPO_DIA){Sessionsessao=null;try{/*Lê o relatório dentro do .jar*/this.RELATORIO=getClass().getResourceAsStream("/br/com/sistemaX/relatorios/jaspers/RelatorioX.jasper");if(TIPO_DIA=='A')this.RELATORIO=getClass().getResourceAsStream("/br/com/sistemaX/relatorios/jaspers/RelatorioX9.jasper");sessao=HibernateUtil.getSessionFactory().openSession();JasperPrintjPrint=JasperFillManager.fillReport(this.RELATORIO,parametros(),sessao.connection());JasperViewerjView=newJasperViewer(jPrint,false);jView.setSize(1024,768);jView.setTitle("Relatório X");jView.setExtendedState(JFrame.MAXIMIZED_BOTH);jView.setVisible(true);}catch(Exceptione){JOptionPane.showMessageDialog(InicioView.getInicioView(),"Erro ao gerar relatório.\n\nErro:\n"+e+"\n\nContate o administrador do sistema.","Erro de relatório",JOptionPane.ERROR_MESSAGE);}finally{try{sessao.close();this.RELATORIO.close();this.IMAGEM_INICIO.close();}catch(IOExceptione){/*descartar*/}}}
rrmartins
Boa tarde joyle ,
Estou colocando o seu codigo no meu projeto, mais modificando, pois pelo que vi, voce usou HIbernate, eu tive que trabalhar sem o hibernate, e com jdbc.
Assim que eu terminar postarei aqui o resultado.
J
joyle
Não esqueça de declarar a InputStream do relatório.