Java JasperReports:未找到连接函数

Java JasperReports:未找到连接函数,java,groovy,jasper-reports,Java,Groovy,Jasper Reports,我正在与Jaspersoft Studio一起开发一些报告。 我有一个web应用程序,可以接受REST查询,并将其转换为编译报告。 因此,我有一些JasperReports罐包括: groovy-all-2.0.1.jar iText-2.1.7.js2.jar jasperreports-5.2.0.jar 问题是,当我编译报告并从Jaspersoft Studio运行时,它工作正常。 但当我从我的web应用程序编译并运行它时,它会抛出异常: net.sf.jasperreports.en

我正在与Jaspersoft Studio一起开发一些报告。
我有一个web应用程序,可以接受REST查询,并将其转换为编译报告。
因此,我有一些JasperReports罐包括:

  • groovy-all-2.0.1.jar
  • iText-2.1.7.js2.jar
  • jasperreports-5.2.0.jar
问题是,当我编译报告并从Jaspersoft Studio运行时,它工作正常。
但当我从我的web应用程序编译并运行它时,它会抛出异常:

net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression : 
    Source text : CONCATENATE($V{startString}, "  -  ", $V{endString})
    at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:244)
    at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:591)
    at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:559)
...
Caused by: net.sf.jasperreports.engine.JRRuntimeException: Function CONCATENATE not found
当我在报告中更改我的
连接
调用时,它工作正常

这就给了我一个解决方案,我缺少了一个JasperReports jar,但是是哪一个?

您还应该将JasperReports-functions-5.2.0.jar添加到您的类路径中

此库包含net.sf.jasperreports.functions.standard.TextFunctions类和连接函数

您可以在Maven存储库中找到此工件

我的测试pom.xml中的代码段:


jr ce发布
http://jaspersoft.artifactoryonline.com/jaspersoft/jr-ce-releases
net.sf.jasperreports

文章

这是最近其他经验中的文本函数(groovy)之一:这个问题也与日期时间函数非常相关。也许有人应该尝试将日期时间函数关系问题链接到这篇文章。在JasperStudio中尝试使用TODAY()或NOW()将产生相同的结果,而无需将这些库添加到类路径中。我对
MONTH()
函数也有同样的问题,这个解决方案对我很有效,只需添加
jasperreports函数
并将
groovy
更改为
groovy all
。我不知道最后一个是否必要,但我的应用程序运行顺利。非常感谢你@AlexK