贾斯珀报告文件没有找到异常需要帮助请
嗨朋友正试图通过散列表传递给碧玉报告的几个参数,我得到的文件没有发现异常,但我的文件被放置在netbeans项目文件夹下,下面是我的java代码贾斯珀报告文件没有找到异常需要帮助请
try{ HashMap hmp = new HashMap();
hmp.put("mytin", m_t_n);
hmp.put("cname", c_n_m);
hmp.put("invno", c_in);
hmp.put("ctin", c_t);
hmp.put("date", c_d);
hmp.put("time", c_m);
hmp.put("gtot", gt);
hmp.put("dis", dcn);
hmp.put("adj", amtn);
hmp.put("fin", fn_am);
JasperReport jrpt = null;
String srcd="report1.jrxml";
JasperPrint jp;
//jrpt = JasperCompileManager.compileReport(getClass().getResource(srcd));
jrpt = (JasperReport)JRLoader.loadObject(new File(srcd));
jp=JasperFillManager.fillReport(jrpt,hmp, DriverManager.getConnection("jdbc:mysql://localhost:3306/billing", "root", ""));
JasperViewer jv = new JasperViewer(jp,false);
jv.setFitWidthZoomRatio();
jv.setVisible(true);
}
catch(Exception er){
}
我得到的错误是
run:
java.io.FileNotFoundException: report1.jrxml
net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: report1.jrxml
好心帮我提前解决此错误感谢
试试这个代码 -
try {
String reportSource = "resources/report1.jrxml";
Map<String, Object> params = new HashMap<String, Object>();
JasperReport jasperReport = JasperCompileManager.compileReport(reportSource);
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, new JREmptyDataSource());
JasperViewer.viewReport(jasperPrint, false);
} catch (Exception e) {
System.out.println(e.getMessage());
}
资源应该是我的文件夹名称在哪里存储jrxmll文件我的权利 – 2014-10-06 05:31:30
是的..在你的情况下,它可以只是'String reportSource =“report1.jrxml” ;' – 2014-10-06 05:33:19
在我的情况确定我有我的项目中包含的同一文件夹中的jrxml文件,所以我认为不需要指定我的文件夹名称,而是我可以简单地给出直接文件名是好的 – 2014-10-06 05:37:51
让我们假设你的类文件,并report1.jrxml
都存储在您的项目在同一封装内...
src/some/package/name/Report.java
src/some/package/name/report1.jrxml
然后,你应该能够使用getClass().getResource("report1.jrxml")
获得URL
参考资源
如果确实有效,那么你需要尝试类似getClass().getResource("/some/package/name/report1.jrxml")
。如果失败了,那么文件有问题。要么,你认为这是不是也被损坏以某种方式...
一个jrxml
文件是JasperReports的使用只是一个XML
文件,它需要先编译才能使用它...
try{
HashMap hmp = new HashMap();
hmp.put("mytin", m_t_n);
hmp.put("cname", c_n_m);
hmp.put("invno", c_in);
hmp.put("ctin", c_t);
hmp.put("date", c_d);
hmp.put("time", c_m);
hmp.put("gtot", gt);
hmp.put("dis", dcn);
hmp.put("adj", amtn);
hmp.put("fin", fn_am);
JasperReport jrpt = null;
String srcd="report1.jrxml";
JasperPrint jp;
jrpt = JasperCompileManager.compileReport(getClass().getResource(srcd));
//jrpt = (JasperReport)JRLoader.loadObject(new File(srcd));
jp=JasperFillManager.fillReport(jrpt,hmp, DriverManager.getConnection("jdbc:mysql://localhost:3306/billing", "root", ""));
JasperViewer jv = new JasperViewer(jp,false);
jv.setFitWidthZoomRatio();
jv.setVisible(true);
} catch(Exception er){
er.printStackTrace();
}
存储文件的位置(与源文件的关系)?需要编译'jrxml'才能填充 – MadProgrammer 2014-10-06 05:33:21
yeas jrxml存储在netbeans项目文件夹中 – 2014-10-06 06:12:34
项目文件夹中的哪个位置?在src'文件夹中?在什么目录结构中? – MadProgrammer 2014-10-06 07:28:10