JasperReport问题使用Javaflow WTIH子报告



我在使用jasperreport 6.7.0的javaflow的子报告中有问题该报告由于有价值的原因而在我们的申请中呼唤。

default.jasperreport.properties

的设置
net.sf.jasperreports.subreport.runner.factory=net.sf.jasperreports.engine.fill.JRContinuationSubreportRunnerFactory

,当我运行更多的报告时,有5行出现了一个错误:

java.lang.illegalstateException:悬挂式损坏 堆)。是 net.sf.jasperreports.engine.fill.jrcontinuationsubreportrunner@2024896527/org.apache.catalina.catalina.loader.webappclassloader@18474978933 用于Javaflow的乐器? atrg.apache.commons.javaflow.core.stackrecorder.execute(stackrecorder.java:131) 请访问org.apache.commons.javaflow.api.contination $ multishotContination.ResumeWith(Continuation.java:521) atrg.apache.commons.javaflow.api.contination.resume(Continuation.java:314) atrg.apache.commons.javaflow.api.contination.startwith(continuation.java:219) atrg.apache.commons.javaflow.api.contination.startwith(continuation.java:169) atrg.apache.commons.javaflow.api.contination.startwith(continuation.java:148) 在net.sf.jasperreports.engine.fill.jrcontinuationsubreportrunner.start(jrcontinuationsubreportrunner.java:53) 在net.sf.jasperreports.engine.fill.jrfillsubreport.prepare(jrfillsubreport.java:931) 在net.sf.jasperreports.components.table.fill.filltablesubreport.preparesubreport(FillTableSubReport.java:175) 在net.sf.jasperreports.components.table.fill.filltable.prepare(filltable.java:424) 在net.sf.jasperreports.engine.fill.jrfillcomponentlement.prepare(jrfillcomponentlement.java:152) atn.sf.jasperreports.engine.fill.jrfillementcontainer.prepareelements(jrfillelementcontainer.java:542) 在net.sf.jasperreports.engine.fill.jrfillband.fill(jrfillband.java:453) 在net.sf.jasperreports.engine.fill.jrfillband.fill(jrfillband.java:428) 在net.sf.jasperreports.engine.fill.jrverticalfiller.fillcolumnband(jrverticalfiller.java:2585) 在net.sf.jasperreports.engine.fill.jrverticalfiller.filldetail(jrverticalfiller.java:813) 在net.sf.jasperreports.engine.fill.jrverticalfiller.fillreportstart(jrverticalfiller.java:264) 在net.sf.jasperreports.engine.fill.jrverticalfiller.fillreport(jrverticalfiller.java:110) 在net.sf.jasperreports.engine.fill.jrbasefiller.fill(jrbasefiller.java:615) 在net.sf.jasperreports.engine.fill.basereportfiller.fill(basereportfiller.java:413) 在net.sf.jasperreports.engine.fill.jrfiller.fill(jrfiller.java:120) 在net.sf.jasperreports.engine.fill.jrfiller.fill(jrfiller.java:103) 请访问org.wgsoftpro.reposerver.setreport.fillreport(setReport.java:469) 请访问org.wgsoftpro.reposerver.setreport.runreport(setReport.java:190) 请访问org.wgsoftpro.reposerver.createreport.run(createreport.java:454) atrg.apache.catalina.core.asyncconconcontextimpl $ runnableWrapper.run(asyncconconcontextimpl.java:557) at Java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1149) at Java.util.concurrent.threadpoolexecutor $ worker.run(threadpoolexecutor.java:624) 在java.lang.thread.run(thread.java:748)

如果没有问题的行报告较少。

我在pom.xml上有依赖性以获取 org.apache.commons.javaflow.api

<dependency>
    <groupId>net.tascalate.javaflow</groupId>
    <artifactId>net.tascalate.javaflow.api</artifactId>
    <version>2.4.0</version>
</dependency>

将估计任何弹药。

更新:我遇到了net.tascalate.javaflow.api版本2.2.1

的错误

更新2:我发现,如果我们使页面变大,并且所有数据都适合一个页面,则一切都可以。因此,问题连接到第二页初始化

<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="vetmed" language="javascript" pageWidth="595" ***pageHeight="1500"*** columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="c2935bae-a905-4770-8aca-21bb3b76afde">

香草jasperreports jar(在Maven上出版)没有用于Javaflow的乐器。

有一个可以从SourceForge下载的罐子的变体,请参见Jasperreports-Javaflow-6.7.0.0.jar

但是该罐子没有在Maven上发布,因此您需要找到一种在构建中使用它的方法。有关这样做的一些方法,请参阅此答案。

披露:我是tascalate javaflow库的维护者。看起来您在构建过程中没有乐器必需的连续课程。

tascalate javaflow提供蚂蚁任务和Maven插件,我不确定哪种方法可以与Jasper报告最有效,但您有: - 在此处加入Maven Build插件。 - 与此示例一样设置蚂蚁。

或可能您在呼叫链上具有连续/不可触发方法的混合。

另外,根据Maven Central Jasper报告的信息,6.7使用tascalate Javaflow 2.2.1-使用添加更高版本(2.4.0)

创建版本的地狱是一个坏主意。

最新更新