根據 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 庫的維護者??雌饋砟跇嫿ㄆ陂g沒有檢測必要的可連續類。
Tascalate Javaflow 提供 Ant 任務和 Maven 插件,我不確定 Jasper Reports 最適合什么,但您可以: -- 包括此處描述的 Maven 構建插件。-- 像本例一樣設置 Ant 。
或者,您可能在調用鏈上混合了可繼續/不可繼續的方法。
此外,根據有關Maven Central Jasper Reports 6.7 使用 Tascalate JavaFlow 2.2.1 的信息——通過添加更高版本(2.4.0)來創建版本控制地獄是一個壞主意
添加回答
舉報
0/150
提交
取消