.jasper no meu do .jar

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 ?

Ratinho,

Vc pode criar um pacote específico para seus arquivos .jasper.

Exemplo: br.cassolato.relatorios.jasper

Depois, na classe onde vc preenche o relatório vc usa o classloader para pegar uma InputStream para seu arquivo .jasper:

InputStream is = this.getClass().getClassLoader().getResourceAsStream("br.cassolato.relatorios.jasper.MeuRelatorio.jasper");

Em seguida pega uma conexão com o banco e usa o método JasperFillManager.fillReport().

JasperPrint jasperPrint = JasperFillManager.fillReport(is, parametros, conexao);

Vo tenta aqui kra!

Valeu mesmo!

[quote=“Maldito”]Ratinho,

Vc pode criar um pacote específico para seus arquivos .jasper.

Exemplo: br.cassolato.relatorios.jasper

Depois, na classe onde vc preenche o relatório vc usa o classloader para pegar uma InputStream para seu arquivo .jasper:

InputStream is = this.getClass().getClassLoader().getResourceAsStream("br.cassolato.relatorios.jasper.MeuRelatorio.jasper");

Em seguida pega uma conexão com o banco e usa o método JasperFillManager.fillReport().

JasperPrint jasperPrint = JasperFillManager.fillReport(is, parametros, conexao); [/quote]

kra, eu fiz o seguinte codigo

package br.com.urdcnorte.segUnimed.Relatorios;

import java.io.InputStream;
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
        String dir = System.getProperty( "user.dir" );

        try{
            // Manipula os beans da collection recebida para o relatorio
			JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource( coll );
	        
			// Nome do arquivo .jasper
			//File arquivo = new File( dir + "/Relatorio.jasper" );
			
			InputStream is = this.getClass().getClassLoader().getResourceAsStream(
					"br.com.urdcnorte.segUnimed.Relatorios.ArqJasper.Relatorio.jasper");
			
			/**
			* AQUI JA O is ESTA NULO
			* O que sera que esta acontecendo ?
			*/
			
			
			
			// Parte de configuraçao do Report
			//JasperReport jr = (JasperReport) JRLoader.loadObject( arquivo );
								
			// Parametros do Relatorio
			Map parametros = new HashMap();
			
			// monta os objetos para Saida para a Tela
	        //JasperPrint impressao = JasperFillManager.fillReport( jr, parametros, ds );
	        JasperPrint impressao = JasperFillManager.fillReport( is, 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();
        }
    }
}

O q sera q ta dando errado em ?