Galera boa tarde, estou batendo cabeça com um sub-relatório, se eu executar os dois relatórios tanto o principal como o subrelatório os dois executam normal, o meu problema está na hora que eu chamo o relatório pela minha classe do sistema, o sistema gera uma Exception: Could not load object from location : c:\meuArquivo.jasper
No subRelatório na aba Subreport Connection/Datasource Expression está como Use connection expression $P{REPORT_CONNECTION} e na aba Subreport (Other) Subreport Expresson Class está setado como java.lang.String e Subreport Expression o endereço onde está o arquivo “c:\meuArquivo.jasper”
import java.util.HashMap;
import java.util.Map;
import javax.swing.JOptionPane;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.view.JasperViewer;
public class ImprimirChamados{
private String dir = "C:\\java\\sysChamados\\";
private String relatorio,relatorio1,setTitle;
public ImprimirChamados(){
setTitle = "Impressão";
relatorio = "teste.jrxml";
Map parameters = new HashMap();
try {
JasperDesign design = JasperManager.loadXmlDesign(dir + relatorio);
JasperReport jr = JasperManager.compileReport(design);
JasperPrint impressao = JasperManager.fillReport(jr,parameters,Sistema.con);
JasperViewer jrviewer = new JasperViewer(impressao,false);
jrviewer.setTitle(setTitle);
jrviewer.show();
} catch (JRException e) {
JOptionPane.showMessageDialog( null, ""+e.getMessage(), "Aviso",
JOptionPane.PLAIN_MESSAGE );
}
}
}