在我的项目中,我将.jrxml文件存储在名为com / bio / ofm / mnu / views / reports / jasperReports /的包中 当我尝试加载.jrxml时出现以下错误,
net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: com/bio/ofm/mnu/views/reports/jasperReports/repAuditReport.jrxml (No such file or directory)
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:174)
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:154)
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:146)
at com.bio.ofm.mnu.views.panels.RepAuditReport$2.run(RepAuditReport.java:87)
at java.lang.Thread.run(Thread.java:722)
Caused by: java.io.FileNotFoundException: com/bio/ofm/mnu/views/reports/jasperReports/repAuditReport.jrxml (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:169)
... 4 more
这是我加载文件的方式,
String fileName = getClass().getClassLoader().getResource("com/bio/ofm/mnu/views/reports/jasperReports/repAuditReport.jrxml").getFile();
JasperReport report = JasperCompileManager.compileReport("com/bio/ofm/mnu/views/reports/jasperReports/repAuditReport.jrxml");
请帮助
答案 0 :(得分:2)
当像下面的流一样加载文件时,
InputStream in = this.getClass().getClassLoader().getResourceAsStream("com/bio/ofm/mnu/views/reports/jasperReports/repAuditReport.jrxml");
JasperReport report = JasperCompileManager.compileReport(in);
答案 1 :(得分:2)
我正在编写我的报告:
ByteArrayInputStream is = MyRenderer.class.getClassLoader().getResourceAsStream("anytemplate.jrxml");
JasperDesign jasperDesign = JRXmlLoader.load(is);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);