Duvida ao gerar subrelatório ireport em outra maquina

7 respostas
A

Não estou conseguindo gerar o subrelatório em outra maquina, na minha funciona blz, mas nas outras não.

Nas propriedades do Subrelatorio em Subreport Express : mudei para : getClass().getResource( $P{SUBREPORT_DIR} + “comp_Eventual_Extra_subreport1.jasper” )
No parâmetro do relatório mestre em SUBREPORT_DIR Default Value Expression : deixei em branco

Comentei o parâmetro do subrelatorio porque não está funcionando dessa maneira.

try{

ConnectionFactore conexao = new ConnectionFactore();

InputStream arquivo = getClass().getResourceAsStream( “/relatorios/comp_Eventual_Extra.jasper” );

HashMap parametro = new HashMap<>();

//adiciona parametros

parametro.put(“data_inicio”,dataIncio);

parametro.put(“data_fim”,dataFm);

parametro.put(“logo_i”,PassaValor.getLogo_Intranscol());

parametro.put(“logo_p”,PassaValor.getLogo_Proactiva());

<a href="//parametro.put">//parametro.put</a>(“SUBREPORT_DIR “,getClass().getResourceAsStream(”/relatorios/comp_Eventual_Extra_subreport1”));

JasperReport jr;

jr = (JasperReport) JRLoader.loadObject( arquivo );

JasperPrint jp = JasperFillManager.fillReport(jr, parametro, conexao.getConnection());

JasperViewer jv = new JasperViewer(jp,false);

jv.setTitle(“Relatório de Coletas Eventual”);

jv.setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

if(!jp .getPages().isEmpty()){

jv.setExtendedState(JasperViewer.MAXIMIZED_BOTH);

jv.setVisible(true);

}

jv.toFront();

}catch  (JRException | SQLException ex){

JOptionPane.showMessageDialog(null, "Erro "+ex.getMessage());

}

Se alguém puder me ajudar.

Obrigado.

7 Respostas

Roselito_Favero_da_S

Tenta modificar mais ou menos assim:

String caminho = FacesContext.getCurrentInstance().getExternalContext().getRealPath("") + "/resources/relatorios/"; Map parametros = new HashMap(); parametros.put("SUBREPORT_DIR", caminho);

Adaptando para o seu caso.

A

Obrigado amigo,
Tem alguma coisa a ver minha aplicação está em Desktop ?

Roselito_Favero_da_S

Opa, esqueci do detalhe. Veja esse post aqui do GUJ, bem no final:

http://www.guj.com.br/java/35059-caminho-relativo-para-gravar-arquivo

Se eu não me engano, esse objeto URL pode ser usado em desktop também, e ele tem o getPath() pra você pegar o caminho relativo e passar pro Jasper.

Espero que ajude.

A

Obrigado vou procurar.

A

Não funciono você usa o ireport chamando em Desktop?

A

Alguém mais ajuda por favor.

A

Socorro, alguém me ajuda.

Criado 27 de outubro de 2013
Ultima resposta 1 de nov. de 2013
Respostas 7
Participantes 2