2015-05-23 7 views
7

Trotz der zuvor gestellten Frage kann ich das Problem nicht lösen, indem Sie sie verwenden. Ich versuche derzeit, PDF-Datei über den Jaspis-Bericht zu generieren. Jedoch, Ich bekomme immer eine Ausnahme im Zusammenhang mit den Jar-Abhängigkeiten. Trotz, füge ich folgende Gläser in meine Build-Pfad-Datei,Jasper Java Kompilieren NoClassFound Exception

  • Jasper-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

Programm generiert mich Klasse nicht gefunden Ausnahme, entweder im Zusammenhang mit Sammlungen. Mein Hauptziel ist über die Verwendung der jrxml-Datei ein PDF zu generieren. Ich verwende iReport 5.6.0, um eine jrxml-Datei zu generieren. Jede Hilfe wird geschätzt. Die Stack-Fehlerspur ist unten;

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 
+0

Sie müssen commons-collections Version 3.2.1 ausführen. Wahrscheinlich von [diesem Beitrag] [1]. [1]: http://stackoverflow.com/questions/22847455/java-lang-noclassdeffounderror-org-apache-commons-collections-referencemap – javabrett

Antwort

11

Ich schaffe Problem zu lösen, und ich möchte die Antwort teilen, um die Gemeinschaft zu helfen. Die Jar Abhängigkeiten können über die pom.xml gesammelt werden. Der einfache Weg beruht jedoch auf dem installierten iReport (jrxml generated version) Ordner. Es gibt einen Ordner im Verzeichnis Jaspersoft \ iReport-x.x.x \ ireport \ modules \ ext (hängt vom Betriebssystem ab). Sie können die folgenden JAR-Dateien von dort erhalten;

  • jasperreportsXX.jar
  • commons-loggingXX.jar
  • commons-beanutilsXX.jar
  • commons.digesterXX.jar
  • commons-collectionsXX.jar
  • iTextXX.jar
  • jtd-compilerXX.jar
  • groovy-allXX.jar

Dann sind alle Probleme weg. Ich hoffe, dies hilft anderen Benutzern, die das Problem lösen.

Grüße.