当前位置: 首页 > 知识库问答 >
问题:

贾斯珀报告: 未找到串联函数

南门焱
2023-03-14

我正在与Jaspersoft Studio开发一些报告
我有一个web应用程序,它应该接受REST查询,并将它们转换为编译的报告
所以我包含了一些JasperReports jar:

    < li>groovy-all-2.0.1.jar < li>iText-2.1.7.js2.jar < li>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罐子,但是哪一个呢?

共有1个答案

樊博雅
2023-03-14

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

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

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

我的测试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函数:5.2.0工件依赖于joda-time.joda-time:2.1工件-您还应该将joda-time-2.1.jar添加到类路径中

注意:

有关详细信息,请参阅报表表达式中的自定义函数一文

 类似资料:
  • 我正在一个使用贾斯珀报告的应用程序工作。它与莫哈拉一起使用Primefaces,并部署在码头。当我在本地部署应用时,它确实可以正常工作。但是当我在赫鲁库部署时,它不起作用。 当我把它部署到赫鲁库时,我得到: HTTP错误500 访问/clients.pdf时出现问题。原因: java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStre

  • 我使用的是Jaspersoft Studio版本6.3.0.final和JasperReports库版本6.3.0。我正在创建一个具有不同系列和类别值的折线图。我的问题是,在绘制图表时,我观察到,如果一个类别中没有某个特定系列的值,则线条会断开,并从下一个数据点重新开始。 是否有任何方法可以连接特定序列中的所有点,使其成为一条连续的单线,而不是虚线和点? 我用一个图像作为我得到和想要做的事情的示例

  • 我正在尝试从servlet(viewcurrentstock.java)检索一个属性到jsp(viewstock.jsp)。这里有一个例外提示:“org.apache.jasper.JasperException:java.lang.NullPointerException” 查看当前股票。JAVA viewstock.jsp 服务器日志:

  • 我的jsp有一个代码: 这是我的servlet: 当我点击登录按钮时,我有一个错误。 提前谢谢

  • 我在生产服务器上部署了我的项目,并得到以下错误。 这是一个实时项目,所以,在出现错误后,我用运行良好的前一个版本替换了它,但现在它也抛出了相同的错误。请告诉我有什么问题? 错误: InExpage。jsp:

  • 我为在线DVD商店创建了一个EJB应用程序。我使用Netbean 7.2.1和Glassfish 3.1.2当我运行index.jsp时,它的界面启动成功,如果我单击表单提交按钮,我会收到此错误: 在Netbean中,我得到了这个错误: 我创建了一个JavaEE企业应用程序。我有项目ejb和项目战争。因为我无法直接从ejb创建SessionBean,所以我创建了一个新的项目/Java库类,并在那里