为什么会出现编译错误“ org/codehaus/groovy/control/CompilationFailedException”?

我尝试用 Ant 脚本和 Java 编译我的 JasperReports 模板:

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

模板中没有什么复杂的东西,但是我仍然不能编译。

76944 次浏览

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

  1. 如果使用 电子报告,,请选择 报告督察中的根对象(与报表同名的对象)。然后在 物业窗口中,从 语言下拉列表中选择 爪哇咖啡

  2. 如果您正在编辑 JRXML 文件中的原始标记,请将 language="groovy"从文件中完全删除。

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

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

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

如果你正在使用 TIBCOJaspersoftStudio:

  1. https://groovy.apache.org/download.html下载最新的 groovy 2.4. * jar
  2. 解压缩并获取这个文件./groovy-2.4.10/inveddable/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

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

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

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

您在路径中丢失了一个重要的库 太棒了

Case 1: 如果您正在使用 Maven,请在 pom.xml 中添加这个与兼容版本相关的依赖项

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

案例2: 第二种方法是在类路径中添加兼容的 Groovy jar 版本

Url 下载 groovy jar: http://groovy-lang.org/download.html