使用JsonQL运行JasperReports 6.4.0时,antlr令牌流的NoClassDefFoundError

时间:2018-05-23 10:22:57

标签: jasper-reports

我有一个消耗JSON数据的Jasper模板。我有一个JsonQL作为数据源的语言。模板在本地编译精细并生成PDF预览。

但是当我们尝试在服务器上执行此操作时(使用jasperreports 6.4.0作为依赖项的独立应用程序),我收到此错误消息:

  

org.springframework.web.util.NestedServletException:处理程序处理失败;嵌套异常是java.lang.NoClassDefFoundError:antlr / TokenStream       在org.springframework.web.servlet.DispatcherServlet.triggerAfterCompletionWithError(DispatcherServlet.java:1302)       在org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:977)       在org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)       在org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:968)

我检查了net.sf.jasperreports 6.4.0的pom文件,并将其作为依赖项:

    <dependency>
        <groupId>antlr</groupId>
        <artifactId>antlr</artifactId>
        <version>2.7.5</version>
        <optional>true</optional>
    </dependency>

所以我无法弄清楚为什么我会为antrl.TokenStream获取NoClassDefFoundError。我在网上发现一些帖子说使用Antlr 2.7.7,但这是Jasper引擎pom所以我不能轻易覆盖它。还有其他原因吗?

我们有很多其他模板可以正常使用。这是第一个使用JsonQL的人。这是一个因素吗?

0 个答案:

没有答案