我正在尝试使用Ant脚本和Java编译我的JasperReports模板。我收到了这个错误:
jasper java.lang.NoClassDefFoundError:
org/codehaus/groovy/control/CompilationFailedException
模板中没有任何复杂的东西,但我仍然无法编译。
答案 0 :(得分:147)
您必须将模板中的language
值设置为Java。有两种方法可以做到这一点:
如果您使用 iReport,选择报告检查器中的根对象(与您的报告同名的那个)。然后在 Properties 窗口中,从 Languages 下拉列表中选择 Java 。
如果您正在编辑JRXML文件中的原始标记,请从文件中删除language="groovy"
。
然后尝试重新编译 - 你应该排序。 :)
答案 1 :(得分:8)
另一个解决方案是将groovy-all- {version} .jar从groovy二进制发行版复制到应用程序中。
答案 2 :(得分:3)
如果您使用的是TIBCOJaspersoftStudio:
答案 3 :(得分:1)
在JRXML中将语言更改为java(例如: - language =“java”)或将groovy * .jar添加到项目的类路径中。
答案 4 :(得分:0)
如果使用Maven,则必须在pom.xml中添加groovy依赖项。
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>2.4.10</version>
</dependency>
在另一种情况下,必须将库groovy添加到lib文件夹(WEB-INF / lib)
答案 5 :(得分:0)
您在路径中缺少重要的库 groovy 。
情况1::如果您使用的是Maven,请在pom.xml中将此依赖项与兼容版本一起添加
<dependency>
<groupId>org.codehaus.groovy</groupId>
<artifactId>groovy-all</artifactId>
<version>3.0.4</version>
</dependency>
案例2:第二种方法是在类路径中添加groovy jar的兼容版本
下载Groovy jar的网址: http://groovy-lang.org/download.html