First I make one R_D1.jrxml file in iReport 5.1.0.
My Java code to execute the report looks like:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.HashMap; import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.JasperFillManager; public class DbReportFill{ Connection con; public void generateReport() { try { Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/sentiment","root", "abcd"); System.out.println("Filling report..."); JasperFillManager.fillReportToFile("/home/abcd/report/R_D1.jrxml",new HashMap<String, Object> (), con); System.out.println("Done!"); con.close(); } catch (JRException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } } public static void main(String[] args) { new DbReportFill().generateReport(); } } When I execute the class I get the following exception:
Filling report... net.sf.jasperreports.engine.JRException: Error loading object from file : /home/abcd/report/R_D1.jrxml at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:127) at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:99) at net.sf.jasperreports.engine.JasperFillManager.fillToFile(JasperFillManager.java:117) at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:666) at DbReportFill.generateReport(DbReportFill.java:24) at DbReportFill.main(DbReportFill.java:56) Caused by: java.io.StreamCorruptedException: invalid stream header: 3C3F786D at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:802) at java.io.ObjectInputStream.<init>(ObjectInputStream.java:299) at net.sf.jasperreports.engine.util.ContextClassLoaderObjectInputStream.<init>(ContextClassLoaderObjectInputStream.java:58) at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:122) ... 5 more I am not sure what I am doing wrong, or what this exception means.