简体   繁体   中英

Why do I get compilation error “org/codehaus/groovy/control/CompilationFailedException”?

I am trying to compile my JasperReports template using an Ant script and Java. I am getting this error:

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

There is nothing complex in the template, but I still can't compile.

You will have to set the language value in your template to Java. There are two ways you can do this:

  1. If you are using iReport, select the root object in your Report Inspector (the one with the same name as your report). Then in the Properties window, select Java from the Languages drop-down.

  2. If you are editing the raw mark-up in the JRXML file, remove language="groovy" from the file altogether.

Then try to recompile - you should be sorted. :)

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

If you are using Maven, you must add the groovy dependency in your pom.xml.

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

In another case, you must add the library groovy in your lib folder (WEB-INF/lib)

If you are using TIBCOJaspersoftStudio:

  1. Download latest groovy 2.4.* jar from https://groovy.apache.org/download.html
  2. Unpack and get this file ./groovy-2.4.10/embeddable/groovy-all-2.4.10.jar
  3. Put the jar in ./TIBCOJaspersoftStudio-6.3.1.final/plugins
  4. Delete the old jar: ./TIBCOJaspersoftStudio-6.3.1.final/plugins/groovy-all_2.4.5.jar

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

Your are missing the a important library groovy in path.

case 1 : if you are using Maven add this dependency with compatible version in pom.xml

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

Case 2 : Second way is add the compatible version of groovy jar in class path

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM