Olá!
Muitas pessoas tem dificuldade em utilizar os relatórios feitos no iReport em suas aplicações, especialmente as webs, por não saberem onde colocar os arquivos .jasper em sua aplicação para que o Servlet ou o ManagedBean consiga lê-los. Então é bem comum ver erros como esses:
[sourcecode lang=”java”]net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException[/sourcecode]
[sourcecode lang=”java”]java.lang.NullPointerException
at net.sf.jasperreports.engine.JRPropertiesMap.readObject(JRPropertiesMap.java:185)
[/sourcecode]
Recomendo colocar os arquivos jasper e/ou jrxml juntos as classes Java e não nos diretórios abaixo de Páginas Web no Netbeans ou Web Content no Eclipse, pois eles podem fica expostos. Não é desejado que os usuários possam baixa os arquivos jasper e/ou jrxml e ficarem fuçando neles.
A figura abaixo mostra o local correto para copiar o arquivo jasper e/ou jrxml no Netbeans. No Eclipse a lógica é a mesma, no lugar de Pacotes de código fontes coloque em Java Resorces: src.
Note que o arquivo jasper e/ou jrxml está no mesmo pacote do GerarRelatorioServlet.java e para obter o InputStream no Servlet eufaço assim getResourceAsStream(“Rel_Precipitacoes.jasper”).
Para ser mais organizado é possível colocar em outro pacote, nesse caso é preciso ajustar o caminho ao jasper com relação ao local do GerarRelatorioServlet.java. No exemplo abaixo o jasper ficou no pacote br.com.furutani.relatorios logo obtemos o InputStream passando esse caminho “../relatorios/Rel_Precipitacoes.jasper” no GerarRelatorioServlet.
O projeto do netbeans com os fontes e bibliotecas do JasperReports podem ser baixados no link: [Download não encontrado.]
Espero ter ajudado.
Até mais,
Roberto
roberto! Parabens! puts, vc salvou meu dia, cara, estava aqui com esse problema, por mais de 2 hrs, puts, ja tinha tentado os caminhso relativos, e absolutos e so conseguir rodar colocando caminho interno, mas nao queria isso, e sim o da aplicacao, assim nao precisa mudar,e achei seu post.
parabens, por ter compartilhado a dica, realmente deve ajudar muitos por ai.
abracos.
Pingback: Camilo Lopes – LpJava » Relatório Ireport + JasperReport com Hibernate
Valew cara, esse post mesmo sendo de 2010 ainda me ajudou hoje em 2014.
Vlw pela força, post de 2010 ajudou meu problema em 2019, haha.