Generar columnas en jasper report en Java

estoy desarrollando una aplicacion en Java para generar un listado en Jasper Report, desde un fichero Json , el cual puede cambiar de estructura es decir ,, cambiar de columnas y numero de ellas … o sea puede imprimir un listado de clientes y la misma aplicacion un listado de articulos con sus datos de cabecera y pie de informe…. Despues de mucho he logrado descifrar todo e ir generando la aplicacion hasta el punto donde utilizando el comando “fastReportBuilder.addColumn” .. voy creando las columnas … el codigo es asi …

package javaapplication11;  import ar.com.fdvs.dj.domain.DynamicReport; import ar.com.fdvs.dj.domain.builders.FastReportBuilder; import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; import java.util.Scanner;  public class Reportejav {         public static DynamicReport buildReport() throws ClassNotFoundException, FileNotFoundException, IOException {         FastReportBuilder fastReportBuilder = new FastReportBuilder();         int contador = 0 ;          String cadena;          Scanner scanner = new Scanner(System.in);          FileReader f = new FileReader("c:/tools/estructura.Json");         BufferedReader b = new BufferedReader(f);         while((cadena = b.readLine())!=null) {             contador = contador + 1;             System.out.println(b.readLine());                        fastReportBuilder.addColumn(cadena, cadena, String.class.getName(), 50);            }         fastReportBuilder.setPrintBackgroundOnOddRows(true).setUseFullPageWidth(true);           return fastReportBuilder.build();       }   }

El problema es que al compilarlo me da …:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections/list/UnmodifiableList   null 	at ar.com.fdvs.dj.domain.entities.DJGroup.getFooterVariables(DJGroup.java:178) 	at ar.com.fdvs.dj.domain.builders.DynamicReportBuilder.build(DynamicReportBuilder.java:261) 	at ar.com.fdvs.dj.domain.builders.FastReportBuilder.build(FastReportBuilder.java:102) 	at javaapplication11.Reportejav.buildReport(Reportejav.java:53) 	at javaapplication11.JavaApplication11.main(JavaApplication11.java:99) Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.list.UnmodifiableList 	at java.net.URLClassLoader.findClass(URLClassLoader.java:382) 	at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 	at sun.misc.Launcher$  AppClassLoader.loadClass(Launcher.java:349) 	at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 	... 5 more C:\tools\jasperreports-5.0.1\JavaApplication11\nbproject\build-impl.xml:1040: The following error occurred while executing this line: C:\tools\jasperreports-5.0.1\JavaApplication11\nbproject\build-impl.xml:805: Java returned: 1 BUILD FAILED (total time: 20 

y ya no sigue.. este programa es llamado desde otro .Java.. pero da el problema en la linea que dice .:

     return fastReportBuilder.build();

Alguien me puede explicar que pasa o porque da ese error.. os lo agradeceria ….

Gracias a todos!!!