Galera,
Seguinte, tenho um relatório que chama um subrelatório. Visualizando pelo iReport, ele consegue chamar o subrelatório, porém no java não.
Tenho um jar adicionado na minha app. que possui os .jasper. Aí busco eles assim:
InputStream pathRelGeral = getClass().getClassLoader().getResourceAsStream("RelatorioGeral.jasper");
InputStream pathSubRel = getClass().getClassLoader().getResourceAsStream("SubrelPausasDetalhe.jasper");
Passo como parâmetro para o relatório principal o subrelatório assim:
Map<String, Object> paramsRelGeral = new HashMap<String, Object>();
paramsRelGeral.put("SUBREPORT_DIR", pathSubRel);
E o parâmetro SUBREPORT_DIR do relatório principal no iReport está configurado assim (Isso na aba Sub-relatório):
$P{SUBREPORT_DIR} + "SubrelPausasDetalhe.jasper"
Pensei que pudesse ser algum problema relacionado ao tipo das variáveis pathRelGeral e pathSubRel que são do tipo InputStream. Porém já alterei no ireport passando o tipo de SUBREPORT_DIR que é atualmente Object para InputStream e mesmo assim a exceção abaixo é lançada:
net.sf.jasperreports.engine.JRException: Could not load object from location : sun.net.www.protocol.jar.JarURLConnection$[email removido]
