Problemas com subrelatorios no jasper

Ola pessoal, estou tentado abrir um relatório que fiz utilizando o ireport 1.2.2, este relatorio contem 3 subrelatorios, quando executo no ireport ele funciona sem problemas, mas quando chamo este relatorio na minha aplicação da erro, dizendo que nao pode encontrar os relatorios.
segue abaixo o erro e o codigo que chama o relatorio na minha aplicacao…
Erro gerado na chamado do relatorio
net.sf.jasperreports.engine.JRException: Could not load object from location : //ResumoFinanceiroSubContasPagar.jasper
at net.sf.jasperreports.engine.util.JRLoader.loadObjectFromLocation(JRLoader.java:258)
at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluate(JRFillSubreport.java:315)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:275)
at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:399)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:1289)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:631)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:228)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:128)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:750)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:647)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:63)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:402)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:363)

Codigo do programa …

private void imprime() throws JRException, Exception {
JRResultSetDataSource jrRS = null;
JasperPrint prn = null;

    try {
        Connection con = Main.getConnectionDb;
        Map parameters = new HashMap();
        parameters.put("NomeFilial", " " + Main.filial.getRazaoSocial());
        parameters.put("subContaPagar", "//ResumoFinanceiroSubContasPagar.jasper"); // "/br/com/meta/fecomercio/relatorios/tesouraria/ResumoFinanceiroSubContasPagar.jasper"
        parameters.put("subContaReceber", "//ResumoFinanceiroSubContasReceber.jasper"); //"/br/com/meta/fecomercio/relatorios/tesouraria/ResumoFinanceiroSubContasReceber.jasper"
        parameters.put("subSaldoCaixaBanco", "//ResumoFinanceiroSubSaldoCaixaBanco.jasper"); //"/br/com/meta/fecomercio/relatorios/tesouraria/ResumoFinanceiroSubSaldoCaixaBanco.jasper"
        
        prn = JasperFillManager.fillReport(getClass().getResourceAsStream("/br/com/meta/fecomercio/relatorios/tesouraria/ResumoFinanceiro.jasper"),parameters,con);
        
        if (prn !=null) JasperViewer.viewReport(prn, false);
        
    } catch (Exception e ) {
        e.printStackTrace();
    }
}

se alguem puder me ajudar …

Seguinte,
Qdo tu cria o relatório no Jasper ele cria no diretório de instalação e assim os sub-relatórios.
O primeiro arquivo não dá erro pq tu chama por ele e mapeia

JasperFillManager.fillReport(getClass().getResourceAsStream("/br/com/meta/fecomercio/relatorios/tesouraria/ResumoFinanceiro.jasper"),parameters,con);

No segundo dá erro pq ele deve estar chamando o arquivo em algum lugar do tipo “C:\arquivos de programas\Ireport\jasper\seuRelatorio.jasper”

Clica com o botão direito em cada sub-relatório e veja o caminho q eles estão mapeados.

Era isso!

Graciano

valeu pessoal,

Mas fiz diferente, chameio os sub reports como stramers passando os mesmos como objetos do tipo stramer, pelos parametros do relatorio.

private void imprime() throws JRException, Exception  {
    JRResultSetDataSource jrRS = null;
    JasperPrint prn =  null;
    
    try {
        Connection con = Main.getConnectionDb;
        Map parameters = new HashMap();
        parameters.put("NomeFilial", " " + Main.filial.getRazaoSocial());
        parameters.put("subContaPagar",getClass().getResourceAsStream("/br/com/meta/fecomercio/relatorios/tesouraria/ResumoFinanceiroSubContasPagar.jasper"));
        parameters.put("subContaReceber", getClass().getResourceAsStream("/br/com/meta/fecomercio/relatorios/tesouraria/ResumoFinanceiroSubContasReceber.jasper"));
        parameters.put("subSaldoCaixaBanco",getClass().getResourceAsStream("/br/com/meta/fecomercio/relatorios/tesouraria/ResumoFinanceiroSubSaldoCaixaBanco.jasper"));
        
        prn = JasperFillManager.fillReport(getClass().getResourceAsStream("/br/com/meta/fecomercio/relatorios/tesouraria/ResumoFinanceiro.jasper"),parameters,con);
        
        if (prn !=null) JasperViewer.viewReport(prn, false);
        
    } catch (Exception e ) {
        e.printStackTrace();
    }
}