Jasper 报告 6 & Icinga2 无法解析 class org.icinga.reporting.DateHelper

Jasper reports 6 & Icinga2 unable to resolve class org.icinga.reporting.DateHelper

我已经安装了 Jasper 报告服务器 6.3.0 以及 Icinga 报告(来自 git repo

我可以毫无问题地 运行 样本报告,但是当我尝试 运行 特定的 Icinga 报告时,它们会失败并出现错误;

Errors were encountered when compiling report expressions class file: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: calculator_Service32activity32report32in32given32time_1484836971660_629753: 13: unable to resolve class org.icinga.reporting.DateHelper @ line 13, column 1. 1 error .

如果你想要完整的堆栈跟踪,请发表评论,我会更新问题。

我进行了大量的谷歌搜索并找到了一些引用该问题的链接,但实际上没有人在(仍然有效的)步骤中说明如何解决该问题。

This 看起来最合适 - 但引用的信息不再存在(整个 Icinga wiki 已被删除!)

我也找到了 this,但它链接到我已包含在 WEB-INF/lib 路径中的非常旧的 jar,但仍然出现相同的错误。

如果我 运行 没有 time/date 的报告,那么该报告有效(所以我知道 Jasper 确实有效)

如果您需要任何其他信息,请发表评论,我会更新问题。

问题是由 tomcat WEB-INF/lib/ 文件夹中缺少 icinga-reporting.jar 引起的。

当您构建 icinga-reporting.jar 时,它包含 org.icinga.reporting.DateHelper 函数,其中包含原始错误的原因。

当我在 运行 中安装报告 post 部署脚本时,我确信它已将 .jar 文件复制到正确的路径,但是当我稍后搜索它丢失了...

手动将文件复制到正确的路径解决了问题并报告 time/date 元素现在 运行 没有错误。