Search code examples
javajasper-reportsnoclassdeffounderror

Error when tried to create a small jasper report


I have included the Jasperstudio 6.1.1 plugin to my eclipse. I have included the following jars to my lib.

  • jasperreports-6.1.1
  • commons-beanutils-1.8.0
  • commons-collections-2.1
  • commons-digester-1.7
  • commons-loggin-api-1.0.2
  • groovy-all-1.7.5
  • iText-4.2.0
  • ojdbc6

I am getting the followingerror when I tried to execute a stand alone java class. I think the error is because of my commons version but not sure how to find the exact vrsion.

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ReferenceMap
    at net.sf.jasperreports.engine.design.JRAbstractJavaCompiler.<clinit>(JRAbstractJavaCompiler.java:74)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at net.sf.jasperreports.engine.JasperCompileManager.getCompiler(JasperCompileManager.java:823)
    at net.sf.jasperreports.engine.JasperCompileManager.getEvaluator(JasperCompileManager.java:380)
    at net.sf.jasperreports.engine.fill.JRFillDataset.createCalculator(JRFillDataset.java:467)
    at net.sf.jasperreports.engine.fill.BaseReportFiller.<init>(BaseReportFiller.java:152)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:236)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:72)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:60)
    at net.sf.jasperreports.engine.fill.JRFiller.createBandReportFiller(JRFiller.java:201)
    at net.sf.jasperreports.engine.fill.JRFiller.createReportFiller(JRFiller.java:216)
    at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:85)
    at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:456)
    at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:417)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:838)
    at id.hans.employee.application.MainApplication.showReport(MainApplication.java:59)
    at id.hans.employee.application.MainApplication.main(MainApplication.java:83)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.map.ReferenceMap
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 20 more

Solution

  • I just found the solution.The problem was with commons-collect version. I upgraded it to commons-collection-3.2.1.jar and it worked. Thanks