Bonjour à tous,
Je suis toute débutante en génération des états en Java et j'utilise IReport 3.6.2. A cet effet, j'ai importé les .jar suivants :
commons-beanutils-1.8.0.jar
commons-collections-3.2.1.jar
commons-digester-1.7.jar
commons-logging-1.1.jar
itext-2.1.0.jar
jasperreports-3.6.2.jar
mysql-connector-java-5.1.6-bin.jar
après avoir généré le fichier "report2.jrxml".
Mon code :
génère les erreurs:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43 import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.HashMap; import java.util.Map; import net.sf.jasperreports.engine.JRException; import net.sf.jasperreports.engine.JasperCompileManager; import net.sf.jasperreports.engine.JasperExportManager; import net.sf.jasperreports.engine.JasperFillManager; import net.sf.jasperreports.engine.JasperPrint; import net.sf.jasperreports.engine.JasperReport; import net.sf.jasperreports.engine.design.JasperDesign; import net.sf.jasperreports.engine.xml.JRXmlLoader; import com.mysql.jdbc.Driver; public class JasperTest { public static void main(String[] args) { // - Paramètres de connexion à la base de données String url = "jdbc:mysql://localhost/jasper_database"; String login = "root"; String password = ""; try { // - Connexion à la base Driver monDriver = new com.mysql.jdbc.Driver(); DriverManager.registerDriver(monDriver); Connection connection = DriverManager.getConnection(url, login, password); // - Chargement et compilation du rapport JasperDesign jasperDesign = JRXmlLoader.load("C:\\Documents and Settings\\armel\\Mes documents\\report2.jrxml"); JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign); // - Paramètres à envoyer au rapport Map parameters = new HashMap(); parameters.put("Titre", "Titre"); // - Execution du rapport JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters,connection); // - Création du rapport au format PDF JasperExportManager.exportReportToPdfFile(jasperPrint,"C:\\Documents and Settings\\armel\\Mes documents\\report2.pdf"); net.sf.jasperreports.view.JasperViewer.viewReport(jasperPrint); } catch (JRException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } }
Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/groovy/control/CompilationFailedException
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForRealName(JRClassLoader.java:157)
at net.sf.jasperreports.engine.util.JRClassLoader.loadClassForName(JRClassLoader.java:115)
at net.sf.jasperreports.engine.JasperCompileManager.getCompiler(JasperCompileManager.java:511)
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:215)
at JasperTest.main(JasperTest.java:36)
Caused by: java.lang.ClassNotFoundException: org.codehaus.groovy.control.CompilationFailedException
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
... 7 more
Java Result: 1
BUILD SUCCESSFUL (total time: 16 seconds)
Je me demande s'il n'y a pas une librairie manquante ou si mon fichier a été bien généré.
Vous pouvez m'aider à y voir plus clair?
Merci d'avance.
Partager