Subreport dentro do jar não Carrega!

1 resposta
L

Tenho um um principal.jrxml e um subreport chamado sub.jasper, ambos dentro de uma jar.
Coloquei um objeto subreport dentro do principal.jrxml para poder chamar o sub.jasper. E no campo “Subreport Expression” desse objeto eu coloquei esse código :

getClass().getResourceAsStream("sub.jasper")

O problema eh q ele não tá carregando esse sub.jasper e não ocorre nenhum erro !!! Ambos estão no mesmo nível (diretorio)no jar !!

valeu !!

1 Resposta

root_

Amigo… é o seguinte…
1 ) Coloque seu parâmetro SUBREPORT_DIR para ser do tipo java.lang.Object
2 ) Clique em cima do seu componente Subreport e nas propriedades dele(Subreport Properties), mude a Expression Class para java.net.URL
3 ) Na sua classe faça mais ou menos assim:

.
.
.
        jasperReport = (JasperReport)JRLoader.loadObject(this.getClass().getResourceAsStream("/rgencomendas/relatorios/manifesto.jasper"));
        parametros = new HashMap();
       //aqui está meu subrelatório que está dentro do .jar
        parametros.put("SUBREPORT_DIR", getClass().getResource("/rgencomendas/relatorios/manifesto_subreport0.jasper"));
        jasperPrint = JasperFillManager.fillReport(jasperReport, parametros, HibernateUtil.getConnection());
        Locale lingua = new Locale("pt", "br");
        jasperViewer = new JasperViewer(jasperPrint, false, lingua );
        jasperViewer.setDefaultCloseOperation(JasperViewer.DISPOSE_ON_CLOSE);
        jasperViewer.setTitle("MANIFESTO");
        jasperViewer.setVisible(true);
.
.
.

Comigo funcionou amigo… eu tentei o ResourceAsStream mais não carrega n… acho que deve ser algum bug mesmo do jasperReport.
Estou utilizando o ireport 3.7.5.

Espero ter ajudado…

Criado 25 de fevereiro de 2005
Ultima resposta 19 de out. de 2010
Respostas 1
Participantes 2