package abc; import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.InputStream;import java.sql.*; import net.sf.jasperreports.engine.*;import net.sf.jasperreports.engine.design.JasperDesign;import net.sf.jasperreports.engine.export.*;import net.sf.jasperreports.engine.xml.JRXmlLoader;import net.sf.jasperreports.view.JasperViewer;public class JasperReport { public static void main(String[] args) { // TODO Auto-generated method stub String url = "XXX"; String user = "XXX"; String pwd = "XXX"; try { Connection connRead = DriverManager.getConnection(url, user, pwd); String address = "C:\\JaspersoftWorkspace\\MyReports\\First.jrxml"; InputStream inputStream = new FileInputStream (address); JasperDesign jasperDesign = JRXmlLoader.load(inputStream); net.sf.jasperreports.engine.JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign); JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, null, connRead); JasperExportManager.exportReportToPdfFile(jasperPrint, "c:/A/test_jasper.pdf"); JasperViewer.viewReport(jasperPrint); } catch (SQLException | JRException | FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
Exception in thread "main" java.lang.ClassCastException: [Lnet.sf.jasperreports.engine.type.CalculationEnum; cannot be cast to [Lnet.sf.jasperreports.engine.type.NamedEnum; at net.sf.jasperreports.engine.xml.XmlConstantPropertyRule.<init>(XmlConstantPropertyRule.java:47) at net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.addDatasetRules(JRXmlDigesterFactory.java:1214) at net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.configureDigester(JRXmlDigesterFactory.java:507) at net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.createDigester(JRXmlDigesterFactory.java:1438) at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:262) at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:247) at abc.JasperReport.main(JasperReport.java:28)
5 Answers:
one more error,
this morning I try to set the report data from HashMap,
the error change to
net.sf.jasperreports.engine.JRException: Error compiling report java source files : I:\Java SAP\SecondJasperreport\First_1416963786573_878040.java I:\Java SAP\SecondJasperreport\First_tableDataset_1416963786573_878040.java
I have no idea about those files.
Anyway,
Exception in thread "main" java.lang.ClassCastException:[Lnet.sf.jasperreports.engine.type.CalculationEnum; cannot be cast to[Lnet.sf.jasperreports.engine.type.NamedEnum; at net.sf.jasperreports.engine.xml.XmlConstantPropertyRule.<init>(XmlConstantPropertyRule.java:47) at
How can I fix those two question?
Please help.
Thanks.
Finally, I export my first Jasper Report.
I dont how to fix it.
The solutions is remove all the Jar and re-add.
Here is my environment(Only use Jasperreport).
Win 7