Я довольно знакомый с jasperstudio 6.3.0 и могу без проблем запускать другие отчеты из java. Работает хорошо. Однако я не могу запустить отчет, содержащий подзаголовки. Я нашел решения здесь stackoverflow, но до сих пор не могу заставить его работать. В моем решении я загружаю отчеты в таблицу для хранения и вытягиваю субректы и основной отчет из базы данных и компилирую jrxml. Все работает нормально до тех порПозвонить Jasper subreports в java
net.sf.jasperreports.engine.JRException: Ресурс не найден на: subInvoiceSummary.jasper. ОШИБКА в runReport: Ресурс не найден по адресу: subInvoiceSummary.jasper. на net.sf.jasperreports.repo.RepositoryUtil.getResourceFromLocation (RepositoryUtil.java:153) в net.sf.jasperreports.repo.RepositoryUtil.getReport (RepositoryUtil.java:112) в net.sf.jasperreports.engine. fill.JRFillSubreport.loadReport (JRFillSubreport.java:398) на net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateReport (JRFillSubreport.java:365) в net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateSubreport (JRFillSubreport.java:427) at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluate (JRFillSubreport.java:341) at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate (JRFillElementContainer.java:381) at net.sf.jasperreports.engine.fill.JRFillBand.evaluate (JRFillBand.java:500) в net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand (JRVerticalFiller.java:2022) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail (JRVerticalFiller.java:748) at net.sf. jasperreports.engine.fill.JRVerticalFiller.fillReportStart (JRVerticalFiller.java:255) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport (JRVerticalFiller.java:115) по адресу net.sf.jasperreports.engine.fill. JRBaseFiller.fill (JRBaseFiller.java:580) at net.sf.jasperreports.engine.fill.BaseReportFiller.fill (BaseReportFiller.java:396) at net.sf.jasperreports.engine.fill.JRFiller.fill (JRFiller.fill (JRFiller.fill). java: 90) at net.sf.jasperreports.engine.JasperFillManager.fill (JasperFillManager.java:456) at net.sf.jasperreports.engine.JasperFillManager.fillRe port (JasperFillManager.java:863)
Я пробовал много перестановок, но безрезультатно. Я также попытался вытащить код для jasperreports, чтобы проследить стек, показанный выше, но есть так много зависимостей .jar и версий зависимостей, которые я не смог заставить его скомпилировать в моем проекте через 2 дня (если у кого есть ссылка на простой способ сделать эту работу, пожалуйста, дайте мне знать). Вот фрагмент кода:
Map<String, Object> rptParms = new HashMap<String, Object>();
List<daRecOnDemandSubReport> subReports = report.getOnDemandSubReport();
Iterator<daRecOnDemandSubReport> subReportList = subReports.iterator();
while (subReportList.hasNext()) {
daRecOnDemandSubReport subReport = subReportList.next();
ByteArrayInputStream x = getSubReportDataStream(dbConnROIPro, report.getODReportID());
JasperReport compiledSubReport = JasperCompileManager.compileReport(x);
String fileName = subReport.getODSubReportFileName().replace(".jrxml", ".jasper");
rptParms.put(fileName, compiledSubReport);
}
ByteArrayInputStream x = getReportDataStream(dbConnROIPro, report.getODReportID());
JasperReport cRpt = JasperCompileManager.compileReport(x);
rptParms = getReportParameters(dbConnGTrack,report.getODReportID(), rptParms, report.getOnDemandParm(), programID);
JasperPrint rpt = JasperFillManager.fillReport(cRpt,rptParms,dbConnGTrack.getDbConn());
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
JRXlsxExporter XLSXexporter = new JRXlsxExporter();
XLSXexporter.setExporterInput(new SimpleExporterInput(rpt));
XLSXexporter.setExporterOutput(new SimpleOutputStreamExporterOutput(outStream));
XLSXexporter.exportReport();
Заранее спасибо за любую помощь