有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java加载jasperreports’。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");

请帮忙


共 (2) 个答案

  1. # 1 楼答案

    当像下面这样以流的形式加载文件时

    InputStream in = this.getClass().getClassLoader().getResourceAsStream("com/bio/ofm/mnu/views/reports/jasperReports/repAuditReport.jrxml");
    
    JasperReport report = JasperCompileManager.compileReport(in);
    
  2. # 2 楼答案

    我是这样编写报告的:

    ByteArrayInputStream is = MyRenderer.class.getClassLoader().getResourceAsStream("anytemplate.jrxml");
    
    JasperDesign jasperDesign = JRXmlLoader.load(is);
    JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);