简体   繁体   English

加载jasperreports的.jrxml文件

[英]Loading jasperreports' .jrxml files

In my project I have stored .jrxml files in a package called com/bio/ofm/mnu/views/reports/jasperReports/ When I try to load a .jrxml I get following error, 在我的项目中,我将.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

This is how I load the file, 这是我加载文件的方式,

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");

please help 请帮忙

When loading the file as a stream like below it worked, 当像下面的流一样加载文件时,它工作,

InputStream in = this.getClass().getClassLoader().getResourceAsStream("com/bio/ofm/mnu/views/reports/jasperReports/repAuditReport.jrxml");

JasperReport report = JasperCompileManager.compileReport(in);

i'm compiling my reports like that: 我正在编写我的报告:

ByteArrayInputStream is = MyRenderer.class.getClassLoader().getResourceAsStream("anytemplate.jrxml");

JasperDesign jasperDesign = JRXmlLoader.load(is);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM