.jasper dentro do .jar

5 respostas
C

Pessoal, tenho o seguinte problema…

tenho o seguinte pacote

br.cassolato.Relatorios
nesse tem as classes q invocam um arquivo .jasper para eu mostrar o meu relatorio.

no pacote
br.cassolato.Relatorios.RelJasper esta o meu .jasper

queria saber com eu faco a minha invocacao pra ele dentro do meu .jar pra eu colocar o meu .jasper dentro do meu .jar, pois se e passar o caminho( c:/…/br/… ele funciona ).

Sera q alguem pd me ajudar ?

5 Respostas

_fs

getClass().getResourceAsStream( “/RelJasper/meuRelatorio.jasper” )

C
tenho a seguinte classe
// RelPadrao.java

package br.com.urdcnorte.segUnimed.Relatorios;

import java.io.File;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;

import javax.swing.JOptionPane;

import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;
import net.sf.jasperreports.engine.util.JRLoader;
import net.sf.jasperreports.view.JasperViewer;

/**
 * Classe que realmente monta o relatorio
 * Esta possui um metodo que recebera uma Collection
 * Contendo a lista recebida da consulta e entao apresentara
 * em um formulario
 */

public class RelPadrao {
    /**
     * Método responsável por montar o relatório
     * Recebe como parametro a Collection Recebida da 
     * Consulta SQL feita pela repectiva classe invocada
     * na acao do menu Relatorios do formulario principal
     * */
    public void MontaRelatorio( Collection coll ) {
        // Pega o endereco do .jasper

        try{
            // Manipula os beans da collection recebida para o relatorio
			JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource( coll );
	        
			
			// Parte de configuraçao do Report
			
			JasperReport jr = (JasperReport) JRLoader.loadObject( getClass().getResourceAsStream("/RelJasper/Relatorio.jasper") );
								
			// Parametros do Relatorio
			Map parametros = new HashMap();
			
			// monta os objetos para Saida para a Tela
	        JasperPrint impressao = JasperFillManager.fillReport( jr, parametros, ds );
	       	// Mostra na tela usando o JasperViewer
		    JasperViewer jrviewer = new JasperViewer( impressao, false );
		    jrviewer.setVisible(true);
        }catch( Exception e ) {
		    JOptionPane.showMessageDialog( null, "Erro:\n" + e.toString());
		    e.printStackTrace();
        }
    }
}

esta dando null poiner exception, oq sera q e ?

_fs

Não li o seu código. Em que linha está ocorrendo a NullPointerException?

C

JasperReport jr = (JasperReport) JRLoader.loadObject( getClass().getResourceAsStream("/RelJasper/Relatorio.jasper") );

essa aqui

keller

poderia colar a exceção aqui?
*acho que ele nao está encontrando o relatorio…

valeu? até… :thumbup:

Criado 22 de junho de 2005
Ultima resposta 22 de jun. de 2005
Respostas 5
Participantes 3