Jump to content
We've recently updated our Privacy Statement, available here ×

EOFException while loading compiled report teplate with JRLoader.loadObject(InputStream)


maridion

Recommended Posts

Hi,

I'm using jasperreports-4.0.0.jar and JBOSS EAP 6.1 and I'm experiencing problems while loading compiled report template.

Any help would be appreciated.

I have my report templates packed into a jar and I try to load it with JRLoader.loadObject(InputStream is):

 InputStream is = myClass.getClass().getResourceAsStream(compiledFileName);
            jasperReport = (JasperReport) JRLoader.loadObject(is);

myClass is in same jar as template.

When I run this code I get exception:

Caused by: net.sf.jasperreports.engine.JRException: Error loading object from InputStream
        at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:205)
        at hr.vestigo.framework.report.ReportHelper.loadCompiledTemplate(ReportHelper.java:107)
        at hr.vestigo.framework.report.ReportManager.getJasperReportReport(ReportManager.java:700)
        ... 69 more
Caused by: java.io.EOFException
        at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2303)
        at java.io.ObjectInputStream$BlockDataInputStream.readLong(ObjectInputStream.java:2820)
        at java.io.ObjectInputStream.readLong(ObjectInputStream.java:959)
        at java.io.ObjectStreamClass.readNonProxy(ObjectStreamClass.java:615)
        at java.io.ObjectInputStream.readClassDescriptor(ObjectInputStream.java:807)
        at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1578)
        at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1494)
        at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1640)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1321)
        at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1969)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1775)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1327)
        at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1969)
        at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:478)
        at net.sf.jasperreports.engine.base.JRBaseElement.readObject(JRBaseElement.java:644)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:969)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1775)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1327)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:349)
        at java.util.ArrayList.readObject(ArrayList.java:593)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:969)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1775)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1327)
        at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1969)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1775)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1327)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:349)
        at java.util.ArrayList.readObject(ArrayList.java:593)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:969)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1775)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1327)
        at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1969)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1893)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1775)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1327)
        at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1969)
        at java.io.ObjectInputStream.defaultReadObject(ObjectInputStream.java:478)
        at net.sf.jasperreports.engine.base.JRBaseReport.readObject(JRBaseReport.java:823)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:969)
        at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1871)
        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1775)
        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1327)
        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:349)
        at net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:201)
        ... 71 more
 
 
 
 

 

 

 

Link to comment
Share on other sites

  • Replies 2
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Finally found the problem.
 
In case that anybody else will have same situation I'll add explanation.
Report template was compiled with IBM's java, although file was created it was not correct so it could not be restored to JasprReport instance. 
When switch to Oracle's Java problem was gone.

 

Link to comment
Share on other sites

  • 3 years later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...