8

我正在使用Jaspersoft Studio开发一些报告。
我有一个应该接受 REST 查询并将它们转换为编译报告的网络应用程序。
所以我有一些JasperReports罐子包括:

  • groovy-all-2.0.1.jar
  • iText-2.1.7.js2.jar
  • jasperreports-5.2.0.jar

问题是当我编译我的报告并从Jaspersoft Studio运行时,它工作正常。
但是当我从我的网络应用程序编译并运行它时,它会抛出异常:

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

当我在报告中更改我的CONCATENATE电话时,它工作正常。

所以这给我留下了一个解决方案,我错过了一个JasperReports罐子,但是哪一个呢?

4

1 回答 1

12

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

该库包含带有CONCATENATE函数的net.sf.jasperreports.functions.standard.TextFunctions类。

您可以在http://jaspersoft.artifactoryonline.com/jaspersoft/jr-ce-releases Maven存储库中找到这个工件。

我的测试pom.xml的片段:

<repositories>
    <repository>
        <id>jr-ce-releases</id>
        <url>http://jaspersoft.artifactoryonline.com/jaspersoft/jr-ce-releases</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports</artifactId>
        <version>5.2.0</version>
    </dependency>

    <dependency>
        <groupId>org.codehaus.groovy</groupId>
        <artifactId>groovy-all</artifactId>
        <version>2.0.1</version>
    </dependency>
    <dependency>
        <groupId>net.sf.jasperreports</groupId>
        <artifactId>jasperreports-functions</artifactId>
        <version>5.2.0</version>
    </dependency>
    <dependency>
        <groupId>joda-time</groupId>
        <artifactId>joda-time</artifactId>
        <version>2.1</version>
    </dependency>
</dependencies>

net.sf.jasperreports.jasperreports-functions : 5.2.0工件取决于joda-time.joda-time:2.1工件 - 您还应该将joda-time-2.1.jar添加到类路径


笔记:

您可以在报告表达式文章中的自定义函数中找到更多信息

于 2013-10-18T21:03:59.350 回答