Why do I get compilation error "org/codehaus/groovy/control/CompilationFailedException"?
JavaAntCompilationJasper ReportsJava Problem Overview
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.
Java Solutions
Solution 1 - Java
You will have to set the language
value in your template to Java. There are two ways you can do this:
-
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.
-
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. :)
Solution 2 - Java
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)
Solution 3 - Java
Another solution is to copy groovy-all-{version}.jar from the groovy binary distribution into the application's.
Solution 4 - Java
If you are using TIBCOJaspersoftStudio:
- Download latest groovy 2.4.* jar from https://groovy.apache.org/download.html
- Unpack and get this file ./groovy-2.4.10/embeddable/groovy-all-2.4.10.jar
- Put the jar in ./TIBCOJaspersoftStudio-6.3.1.final/plugins
- Delete the old jar: ./TIBCOJaspersoftStudio-6.3.1.final/plugins/groovy-all_2.4.5.jar
Solution 5 - Java
Change the languge to java in JRXML (ex:- language="java") or add groovy*.jar to your project’s classpath.
Solution 6 - Java
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