Problema em chamar um relatorio

boa noite pessoal,
tenho um relatorio que nao consigo chamar via aplicaçao JAR, qdo mando a aplicação rodar direto no netbeans funciona 100% a geracao do relatório.
Mas se mandar criar o JAR e depois executa-lo simplestamente tal função nao faz nada, aparentemente nao da erro, acredito que ele nao esteja conseguindo achar o relatorio no pacote dentro do JAR
alguem poderia me dar uma LUZ??



package condominio.relatorios;

import condominio.DAO.Conexao;
import condominio.uteis.Conversao;
import java.util.HashMap;
import javax.swing.JDialog;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.view.JasperViewer;


public class ChamadaRelConsumos {

 
    public static final Conexao conexao = new Conexao(); //Objeto para conexão com o banco
      String caminhoExe = System.getProperty("user.dir"); 
       public static final String diretorio = System.getProperty("user.dir")+ "/src/condominio/relatorios/";
    


    public void relListConsumos(String nomeFunc, String dataIni, String dataFim, String codControleConsumo){
        //Relatório de ListagemCadastroPessoas por data
        //Nome do <relatorio>.jasper        
        String nomeRelatorio = diretorio+"ListagemConsumosAgrupado.jasper";
        Conversao conv = new Conversao();
        
       String sql = "select DATE_FORMAT(l.dataLeitura, '%d/%m/%Y') as dataLeitura, " +
				"cc.nomeControle, c.nomeCondominio, " +
				"lm.descMedidor, " +
				"l.leituraAnterior, " +
				"l.leituraAtual, " +      
				"l.qdadeConsumo, " +                            
				"cc.unidadeMedida, " +                           
				"l.valorConsumo, " +
				"(select sum(l1.qdadeConsumo) from  leituraconsumo l1 " +
						" WHERE l1.idLeituraConsumo <= l.idLeituraConsumo and  l1.idControleConsumo " +
						" in ("+ codControleConsumo+") and l1.idControleConsumo=l.idControleConsumo) as acumulado " +
			  "from configuracao c, leituraconsumo l " +
				" left join cadControleConsumo cc on (l.idControleConsumo=cc.idcontroleconsumo)" +
				" left join cadLocalMedicao lm on (l.idLocalmedicao=lm.idLocalMedicao)" +			   
		 " WHERE l.dataLeitura >= '" + conv.dataGravar(dataIni) + "' AND " +
		"l.dataLeitura <= '" + conv.dataGravar(dataFim) + "' and  l.idControleConsumo in ("+ codControleConsumo+")";
        
        sql +="  order by l.idControleConsumo, l.dataleitura";
        
        try{
                     
            HashMap parametros = new HashMap();
            //Passagem dos parametros             
            parametros.put("comando", sql);//Data no formado yyyy-MM-dd            
            parametros.put("nomeFunc", nomeFunc);//Passa o nome do Funcionario Logado para o Relatorio               
            
           //Cria um objeto para impressão do relatório, passando diretório, parametros, conexão
            JasperPrint impressao = JasperFillManager.fillReport(nomeRelatorio, parametros, conexao.conectaJasper());
            //Cria a visualização do relatório em tela 
            JasperViewer viewer = new JasperViewer(impressao,false);
            //define como visivel a tela do relatório
            viewer.setZoomRatio(0.90F);//Define o tamanho do ZOOM ao abrir o relatório
            //Cria um novo dialog para exibir o relatorio
            JDialog dialog = new JDialog();
            dialog.setContentPane(viewer.getContentPane());
            dialog.setSize(viewer.getSize());
            dialog.setModal(true);
            dialog.setTitle("Relatório de Consumos");
            dialog.setLocationRelativeTo(null);
            dialog.setVisible(true); //exibe o mesmo
                        
        }catch(Exception e){
            System.out.println(e);
        }

    }

    
}

Da uma olhada nessa parte do código:

public static final String diretorio = System.getProperty(“user.dir”)+ “/src/condominio/relatorios/”;

Você tem que encontra outra forma de localizar onde estão os .jasper porque quando você sai do netbeans provavelmente o diretório não é o mesmo.

Porque não colocar o .jasper no diretório raiz da aplicação? dessa forma é só chamar o os .jasper sem informar qual o diretório.