Erro no IReport em tempo de execução

2 respostas
lemes

Eae galera, to precisando da ajuda de alguem, estou desenvolvendo uma pequena aplicação que deve emitir relatórios com o IReport, o meu problema é o seguinte:
Quando executo o aplicação pelo eclipse, o relatório funciona perfeitamente, mas quando rodo a aplicação a partir do .jar, ele não encontra os arquivos .jasper e da o seguinte erro : net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: report\listaUsuario.jasper.
A classe é a seguinte:

public class Imprimir {

	public static void relatorioListaUsuario(ResultSet rs) throws JRException{
		try{
			rs.beforeFirst();

			JRResultSetDataSource t = new JRResultSetDataSource(rs);
			Map mapa = new HashMap();

			JasperPrint jp = JasperFillManager.fillReport("report/listaUsuario.jasper", mapa, t);

			JasperViewer jv = new JasperViewer(jp, false);

			jv.setExtendedState(JFrame.MAXIMIZED_BOTH);
			jv.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

			jv.setTitle("Lista de Usuários");
			jv.show();

		}catch (Exception e) {
			e.printStackTrace();
			JOptionPane.showMessageDialog(null, e);
		}		
	}
}

Espero que alguém possa ajudar!!!
valeu...

2 Respostas

G

Lemes,

Está gerando esse erro porque o programa não encontra o arquivo .jasper. Neste caso como está empacotado dentro de um jar você deve referenciar o contexto do proprio pacote onde está o arquivo.

Caso seu chamado seja do proprio pacote onde está o arquivo então faz direto getClass().getResourceAsStream(“arquivo.jasper”), senão voce pega a referência de uma classe qualquer do mesmo pacote onde está o arquivo para que o método encontre o arquivo. exemplo . instanciaObjeto.getClass()

espero ter ajudado,

Guilherme

pedruhenrik

não esta encontrando seu .jasper

vc pode tentar utilizar um get resource as stream para recuperar o relatório.

como esta a estrutura de diretórios?

att,

Criado 31 de julho de 2011
Ultima resposta 31 de jul. de 2011
Respostas 2
Participantes 3