【问题标题】:Why do I get compilation error "org/codehaus/groovy/control/CompilationFailedException"?为什么会出现编译错误“org/codehaus/groovy/control/CompilationFailedException”?
【发布时间】:2012-02-14 16:40:25
【问题描述】:

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

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

模板中没有什么复杂的,但是我还是编译不出来。

【问题讨论】:

    标签: java ant compilation jasper-reports


    【解决方案1】:

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

    1. 如果您使用的是 iReport, 在您的 Report Inspector 中选择根对象(与您的报告同名的对象)。然后在 Properties 窗口中,从 Languages 下拉菜单中选择 Java。

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

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

    【讨论】:

    • .jrxml 修改后不要忘记编译 de .jasper 文件!
    【解决方案2】:

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

    【讨论】:

    • 糟糕的解决方案,因为您只是在满足一个新的和不必要的依赖要求。在 travega 的回答中,您完全消除了依赖要求,这是更好的方法。
    • 这取决于您是否在报告中使用 groovy 表达式....,切换到 java 将使您的 groovy 表达式为 == 失败。 (注意解决方案是从 jasper 报告分发(lib)中相对于类路径中的 groovy 复制库)
    【解决方案3】:

    如果您使用的是 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

    【讨论】:

    • 如果你使用maven,请检查你没有放&lt;scope&gt;provided&lt;/scope&gt;
    【解决方案4】:

    如果您使用的是 TIBCOJaspersoftStudio:

    1. 从https://groovy.apache.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

    【讨论】:

    • 这些步骤帮助我解决了这个问题。愿意解释为什么你的答案是合适的?
    【解决方案5】:

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

    【讨论】:

      【解决方案6】:

      您在路径中缺少一个重要的库 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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-09-28
        • 1970-01-01
        • 2014-06-08
        • 2014-10-11
        • 2018-11-29
        • 1970-01-01
        • 2011-07-10
        • 1970-01-01
        相关资源
        最近更新 更多