为什么我会收到编译错误“org / codehaus / groovy / control / CompilationFailedException”?

问题描述 投票:63回答:5

我正在尝试使用Ant脚本和Java编译我的JasperReports模板。我收到此错误:

jasper java.lang.NoClassDefFoundError:
org/codehaus/groovy/control/CompilationFailedException

模板中没有任何复杂的东西,但我仍然无法编译。

java ant compilation jasper-reports
5个回答
148
投票

您必须将模板中的language值设置为Java。有两种方法可以做到这一点:

  1. 如果您使用的是iReport,请在报表检查器中选择根对象(与报表同名的对象)。然后在“属性”窗口中,从“语言”下拉列表中选择“Java”。
  2. 如果您正在编辑JRXML文件中的原始标记,请从文件中删除language="groovy"

然后尝试重新编译 - 你应该排序。 :)


8
投票

另一种解决方案是将groovy-all- {version} .jar从groovy二进制分发复制到应用程序中。


3
投票

如果您使用的是TIBCOJaspersoftStudio:

  1. http://groovy-lang.org/download.html下载最新的groovy 2.4。* jar
  2. 解压缩并获取此文件./groovy-2.4.10/embeddable/groovy-all-2.4.10.jar
  3. 将jar放入./TIBCOJaspersoftStudio-6.3.1.final/plugins
  4. 删除旧jar:./ TIBCOJaspersoftStudio-6.3.1.final/plugins/groovy-all_2.4.5.jar

1
投票

在JRXML中将语言更改为java(例如: - language =“java”)或将groovy * .jar添加到项目的类路径中。


0
投票

如果您使用的是Maven,则必须在pom.xml中添加groovy依赖项。

<dependency>
    <groupId>org.codehaus.groovy</groupId>
    <artifactId>groovy-all</artifactId>
    <version>2.4.10</version>
</dependency>

在另一种情况下,您必须在lib文件夹中添加库groovy(WEB-INF / lib)

© www.soinside.com 2019 - 2024. All rights reserved.