Olá, estou desenvolvendo uma classe sem Java para visualizar um relatório desenvolvido no iReport. Até duas semanas atras a classe gerava o relatório perfeitamente, mas sem mais nem menos apresenta o erro java.lang.NullPointerException.
Conexao conexao = new Conexao();
Connection con = conexao.getConexao( KawSession.getUsuario().trim(),KawSession.getSenha(),“bd”);
Map parametros = new HashMap();
parametros.put(“CLIENTE”, cliente.getText());
// acusa erro nessa linha
JasperPrint impressao = JasperFillManager.fillReport(relatorio,parametros,con);[/code]
Aparentemente, pelos testes que fiz nenhum dos parametros do JasperPrint está null.
Não entendo porque parou de funcionar, sendo que nada foi alterado, simplismente ele não gera mais.
Ai que está o problema. Com testes nada está null, mas na execução apresenta algo null.
O mais estranho é que sem nenhuma alteração ele parou de funcionar. Os .jasper estão na pasta certa. Tudo está como antes.
Mas definitivamente ele não quer funcionar.
E todos os tópicos que eu pesquisei com maneiras alternativas resultaram no mesmo erro null.
Vou tentar, mas o problema provavelmente não está nessa classe, pois tenho mais de 20 relatórios diferentes em classes distintas e todos pararam de funcionar ao mesmo tempo.
Mas obrigada mesmo assim.
como, em teoria, nada foi alterado… a propabilidade do relatorio estar fazendo alguma “operação” com um dado que está null eh grande, verifique se o realtori faz algum calculo ou qualquer outra rotina que manipule o registro impresso.
Pior que não. Simplismente as pessoas que utilizam o sistema relataram reclamações de que os relatórios não estavam funcionando.
Foi simplismente do além. Estou intrigada com isso.
Há alguma chance do InputStream ou o JasperPrint estar com algum bug, ou algo do tipo?
É a unica coisa que consigo pensar no momento.
Ja pegou a base de dados do cliente, e rodou a sintaxe SQL que esta sendo enviada para o relatorio, com a base de dados do cliente? pra ver se alguma das informações nao esta null?
Então, rodei o relatório pelo iReport mesmo, utilizando o mesmo banco de dados que utilizo conectado a classe Java.
E dentro do iReport ele gera o relatório sem nenhum problema.
O erro que está sendo apresentado para você é mais ou menos esse?
java.lang.NullPointerException
at net.sf.jasperreports.engine.JRPropertiesMap.readObject(JRPropertiesMap.java:185)
Se for, o seu erro é de conflito de versões de ireport/jasper.
Verifique se você não tem nenhuma versão antiga(lib) do JasperReport no seu classpath.
Já tive um problema desse tipo e o meu problema foi resolvido tirando as versões antigas do servidor.
Sim, era esse erro mesmo, deveria ter postado o erro inteiro para você poder ver.
Realmente o problema era conflito, pois utilizamos Nf-e aqui, e por algum motivo o jasper estava com uma versão incompativel.
Muito obrigada pela ajuda.