Jump to content
We've recently updated our Privacy Statement, available here ×
  • ClassCast exception when running report containing scriptlet


    dszeto

    Issue Description:

    When running a report that uses scriptlets, the following error occurs:

    [toc]
    net.sf.jasperreports.engine.JRException:
    net.sf.jasperreports.engine.JRException: Error creating scriptlet class instance : com.escout.app.reportWriter.InvoiceDetailsScriptlet
     at com.jaspersoft.studio.editor.preview.view.control.ReportControler.fillReport(ReportControler.java:468)
     at com.jaspersoft.studio.editor.preview.view.control.ReportControler.access$18(ReportControler.java:443)
     at com.jaspersoft.studio.editor.preview.view.control.ReportControler$4.run(ReportControler.java:335)
     at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) 
    Caused by: net.sf.jasperreports.engine.JRException: Error creating scriptlet class instance : com.escout.app.reportWriter.InvoiceDetailsScriptlet
     at net.sf.jasperreports.engine.scriptlets.DefaultScriptletFactory.getScriptlet(DefaultScriptletFactory.java:118)
     at net.sf.jasperreports.engine.scriptlets.DefaultScriptletFactory.getScriplets(DefaultScriptletFactory.java:69)
     at net.sf.jasperreports.engine.fill.JRFillDataset.createScriptlets(JRFillDataset.java:507)
     at net.sf.jasperreports.engine.fill.JRFillDataset.setParameterValues(JRFillDataset.java:626)
     at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1313)
     at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:931)
     at net.sf.jasperreports.engine.fill.BaseFillHandle$ReportFiller.run(BaseFillHandle.java:120)
     at java.lang.Thread.run(Thread.java:745) 
    Caused by: java.lang.ClassCastException: com.escout.app.reportWriter.InvoiceDetailsScriptlet cannot be cast to net.sf.jasperreports.engine.JRAbstractScriptlet
     at net.sf.jasperreports.engine.scriptlets.DefaultScriptletFactory.getScriptlet(DefaultScriptletFactory.java:110) 
    ... 7 more
    
    

    Resolution:

    This exception can indicate a problem with how the java class is implemented or used. Methods from that class are called in the report and are based on what they are inherting. Reviewing the code, the methods were not inheriting from the right class. To fix this, the following line was added to the problematic java class:

    import net.sf.jasperreports.engine.*
    

    Ref. Case #00056437

     


    User Feedback

    Recommended Comments

    There are no comments to display.



    Guest
    This is now closed for further comments

×
×
  • Create New...