根据 The Definitive Guide to JasperReports – Teodor Danciu,Lucian Chirita,第 130 页,我在使用带有 Jasperreport 6.7.0 的 javaflow 时遇到子报表问题。由于有价值的原因,当报表在我们的应用程序中调用时,我需要它来避免不同的线程调用.有设置在default.jasperreport.propertiesnet.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.loader.WebappClassLoader@1847497893 是否用于 javaflow?在 org.apache.commons.javaflow.core.StackRecorder.execute(StackRecorder.java:131) 在 org.apache.commons.javaflow.api.Continuation$MultiShotContinuation.resumeWith(Continuation.java:521) 在 org.apache.commons .javaflow.api.Continuation.resume(Continuation.java:314) at org.apache.commons.javaflow.api.Continuation.startWith(Continuation.java:219) at org.apache.commons.javaflow.api.Continuation.startWith (Continuation.java:169) 在 org.apache.commons.javaflow.api.Continuation.startWith(Continuation.java:148) 在 net.sf.jasperreports.engine.fill.JRContinuationSubreportRunner。如果行数较少,则报告运行没有问题。我在 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:我发现如果我们使 pageHeight 更大并且所有数据都适合一页,那么一切正常。所以问题与第二页初始化有关<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">
2 回答
胡子哥哥
TA贡献1825条经验 获得超6个赞
原版 JasperReports jar(在 Maven 上发布)未针对 JavaFlow 进行检测。
可以从SourceForge下载 jar 的一个变体,请参阅 jasperreports-javaflow-6.7.0.jar
但是那个 jar 没有在 Maven 上发布,所以你需要找到一种方法在你的构建中使用它。有关执行此操作的一些方法,请参见此答案。
繁花不似锦
TA贡献1851条经验 获得超4个赞
披露:我是 Tascalate JavaFlow 库的维护者。看起来您在构建期间没有检测必要的可连续类。
Tascalate Javaflow 提供 Ant 任务和 Maven 插件,我不确定 Jasper Reports 最适合什么,但您可以: -- 包括此处描述的 Maven 构建插件。-- 像本例一样设置 Ant 。
或者,您可能在调用链上混合了可继续/不可继续的方法。
此外,根据有关Maven Central Jasper Reports 6.7 使用 Tascalate JavaFlow 2.2.1 的信息——通过添加更高版本(2.4.0)来创建版本控制地狱是一个坏主意
添加回答
举报
0/150
提交
取消