我正在使用iReport 3.0.0,我得到了这个例外。任何人都可以帮助我吗?
谢谢..
SEVERE: stack corruption. Is class net.sf.jasperreports.engine.fill.JRContinuationSubreportRunner instrumented for javaflow?
java.lang.IllegalStateException: stack corruption. Is class net.sf.jasperreports.engine.fill.JRContinuationSubreportRunner instrumented for javaflow?
at org.apache.commons.javaflow.bytecode.StackRecorder.execute(StackRecorder.java:102)
at org.apache.commons.javaflow.Continuation.continueWith(Continuation.java:170)
at org.apache.commons.javaflow.Continuation.startWith(Continuation.java:129)
at org.apache.commons.javaflow.Continuation.startWith(Continuation.java:102)
at net.sf.jasperreports.engine.fill.JRContinuationSubreportRunner.start(JRContinuationSubreportRunner.java:57)
at net.sf.jasperreports.engine.fill.JRFillSubreport.prepare(JRFillSubreport.java:610)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:344)
at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:346)
at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:305)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:1382)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:692)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:255)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:113)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:879)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:801)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:89)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:601)
at net.sf.jasperreports.engine.JasperRunManager.runReportToPdf(JasperRunManager.java:419)
at tr.gov.ggm.vedop2.ebyn.merkezislemleri.raporyeni.BeyannameGoruntule.runPDFReport(BeyannameGoruntule.java:169)
at tr.gov.ggm.vedop2.ebyn.merkezislemleri.raporyeni.BeyannameGoruntule.beyannameGoruntule(BeyannameGoruntule.java:71)
at tr.gov.ggm.vedop2.ebyn.merkezislemleri.web.DispatchServlet.beyannameGoruntule(DispatchServlet.java:601)
at tr.gov.ggm.vedop2.ebyn.merkezislemleri.web.DispatchServlet.goruntuleme(DispatchServlet.java:425)
at tr.gov.ggm.vedop2.ebyn.merkezislemleri.web.DispatchServlet.doRequestProcessing(DispatchServlet.java:275)
at tr.gov.ggm.vedop2.ebyn.merkezislemleri.web.DispatchServlet.doPost(DispatchServlet.java:527)
at tr.gov.ggm.vedop2.ebyn.merkezislemleri.web.DispatchServlet.doGet(DispatchServlet.java:212)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at tr.gov.ggm.vedop2.eyeks.servlet.EyeksMainFilter.doFilter(EyeksMainFilter.java:163)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
at java.lang.Thread.run(Thread.java:662)
答案 0 :(得分:1)
Javaflow continuations subreport runner需要一个不同的JasperReport jar,名为jasperreports-javaflow-x.y.z.jar,它将Javaflow所需的字节码检测添加到JR类中。您必须手动将此jar添加到本地存储库。
下载jar的链接是http://sourceforge.net/projects/jasperreports/files/jasperreports/
请确保iReport版本,jasperReport jar版本和工作流程的jar版本相同,否则您将遇到不同的麻烦。
此错误基本上与应用服务器环境上子报告的线程相关。如果jar无法解决问题,则需要编辑属性文件以指向子报表运行程序的线程版本。
此链接非常有用:
http://jasonkratz.com/2008/07/29/running-jasperreports-with-subreports-in-an-app-server-environment/