ClassNotFoundException:org.apache.commons.javaflow.core.StackRecorder

ClassNotFoundException: org.apache.commons.javaflow.core.StackRecorder

填写我的 Jasper 报告时出现以下异常:

java.lang.ClassNotFoundException: org.apache.commons.javaflow.core.StackRecorder
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1285)
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119)
    at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java)
    at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:162)
    at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:145)
    at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:689)
    at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:670)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:992)

我已经添加了 commons-javaflow (https://search.maven.org/#search%7Cga%7C1%7Ca%3A%22commons-javaflow%22) - 但这没有帮助。在哪里可以找到这个 class?

编辑:对重复问题标签的评论:这不是关于 ClassNotFoundException 的一般问题 - 这是关于 Jasper-Reports / Apache Commons JavaFlow 的特殊问题。所以请把这个标签拿走。

从 JasperReports 6.6.0 开始,tascalate-javaflow is used instead of Apache Commons Javaflow, so you'll need a net.tascalate.javaflow.api jar on the classpath (at the current moment, JasperReports lists net.tascalate.javaflow.api-2.2.1.jar 作为依赖)。

但是您需要做的第一件事是确定您是否真的需要 Javaflow JasperReports 变体。有关何时使用 Javaflow 变体的说明,请参阅