Jasper Java Compile NoClassFound Exception
I manage to solve problem and I want to share the answer in order to help the community. The jar dependencies can be gathered via the pom.xml. However, the easy way relies on the iReport (jrxml generated version) installed folder. There is a folder in the location Jaspersoft\iReport-x.x.x\ireport\modules\ext (depends on OS). You can get the following jar files from there;
- jasperreportsXX.jar
- commons-loggingXX.jar
- commons-beanutilsXX.jar
- commons.digesterXX.jar
- commons-collectionsXX.jar
- iTextXX.jar
- jtd-compilerXX.jar
- groovy-allXX.jar
Then all problems are gone. Hope this helps to other user who meets the problem.
Regards.
kingspeech
Updated on June 17, 2022Comments
-
kingspeech almost 2 years
Despite the question asked before, I cannot solve the problem by using them. I am currently trying to generate pdf file via using the jasper report.However, I always get an exception related with the jar dependencies. Despite, I add following jars file into my build path,
- jasperreports-6.0.4.jar
- commons-logging-1.2.jar
- commons-beanutils-1.9.2.jar
- jasperreports-javaflow-6.0.4.jar
- commons.digester3-3.2.jar
- commons-collections4-4.0.jar
program generates me class not found exception either related with collections. My main goal is via using jrxml file generate a pdf. I am using iReport 5.6.0 to generate jrxml file. Any help is appreciated. The Stack trace of error is below;
Generating PDF... Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections/map/ReferenceMap at net.sf.jasperreports.engine.component.ComponentsEnvironment.<init>(ComponentsEnvironment.java:57) at net.sf.jasperreports.engine.component.ComponentsEnvironment.getInstance(ComponentsEnvironment.java:86) at net.sf.jasperreports.engine.xml.JRReportSaxParserFactory.getSchemaLocations(JRReportSaxParserFactory.java:99) at net.sf.jasperreports.engine.xml.BaseSaxParserFactory.configureParser(BaseSaxParserFactory.java:162) at net.sf.jasperreports.engine.xml.BaseSaxParserFactory.createParser(BaseSaxParserFactory.java:117) at net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.createParser(JRXmlDigesterFactory.java:1572) at net.sf.jasperreports.engine.xml.JRXmlDigesterFactory.createDigester(JRXmlDigesterFactory.java:1541) at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:263) at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:219) at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:194) at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:185) at net.sf.jasperreports.engine.JasperCompileManager.compile(JasperCompileManager.java:288) at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:575) at com.tutorialsdojo.jasper.HelloJasper.main(HelloJasper.java:13) Caused by: java.lang.ClassNotFoundException: org.apache.commons.collections.map.ReferenceMap at java.net.URLClassLoader$1.run(URLClassLoader.java:372) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:360) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 14 more