public static void main(String[] args) {
DbUtilsTemplate db = new DbUtilsTemplate();
JasperPrint print = null;
try {
InputStream is = new FileInputStream("F:/test2.jasper");
JasperReport jasperReport = (JasperReport) JRLoader.loadObject(is);
Map map = new HashMap();
List<BookBean> list = new ArrayList<BookBean>();
list.add(new BookBean());
print = JasperFillManager.fillReport(jasperReport, map,
new JRBeanCollectionDataSource(list));
Date now = new Date();
String fileName = now.getTime() + "";
String filePath = "F:/iReport/" + fileName + ".pdf";
// JasperViewer.viewReport(print, false);
JasperExportManager.exportReportToPdfFile(print, filePath);
} catch (Exception e) {
e.printStackTrace();
}
}
我的test2.jasper没有定义任何变量属性。直接是一个空的模板。运行之后报错如下:
应该不存在版本问题。
Exception in thread "main" java.lang.NoSuchFieldError: APPDEFAULT
at net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExporter.java:496)
at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:388)
at net.sf.jasperreports.engine.JasperExportManager.exportReportToPdfFile(JasperExportManager.java:122)
at com.iphone.servlet.Test.main(Test.java:58)