Java net.sf.jasperreports.engine.JRException:从Jasper报告中的文件加载对象时出错

Java net.sf.jasperreports.engine.JRException:从Jasper报告中的文件加载对象时出错,java,jasper-reports,Java,Jasper Reports,我使用了jasperreports-3.7.0.jar、jasperreports-extensions-3.5.3.jar、jasperreports-fonts-3.6.1.jar 但当我运行时,会发生异常 net.sf.jasperreports.engine.JRException: Error loading object from file : D:\DPL\dplpayroll\web\jasperReport\Form-16_partB.jrxml at net.sf.jaspe

我使用了jasperreports-3.7.0.jar、jasperreports-extensions-3.5.3.jar、jasperreports-fonts-3.6.1.jar

但当我运行时,会发生异常

net.sf.jasperreports.engine.JRException: Error loading object from file : D:\DPL\dplpayroll\web\jasperReport\Form-16_partB.jrxml
at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:94)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:243)
我的代码:

String reportSource = rep_path + "/Form-16_partB.jrxml";
String reportDest = rep_path + "/PartB.pdf";  
String rep = reportSource;
String rec = rep.replaceAll("jrxml", "jasper");
File file = new File(rec);
if (!file.exists()) {
   net.sf.jasperreports.engine.design.JasperDesign jasperDesign = net.sf.jasperreports.engine.xml.JRXmlLoader.load(rep);
   JasperCompileManager.compileReportToFile(jasperDesign, rec);
}
JasperPrint jasperPrint = JasperFillManager.fillReport(reportSource, params, conn);
JRPdfExporter exporter = new JRPdfExporter();
exporter.setParameter(JRPdfExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRPdfExporterParameter.OUTPUT_FILE_NAME, reportDest);
exporter.exportReport();

JasperFillManager.fillReport等待编译的*.jasper模板的路径,而不是*.jrxml

也许您可以使用

   inputStream = new FileInputStream(PATH TO YOUR REPORT.jrxml);
   JasperReport jasperReport = JasperCompileManager.compileReport(inputStream);
   JasperPrint jp = JasperFillManager.fillReport(jasperReport, param, dataSource.getConnection());