IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Java IReport erreur.


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Septembre 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 26
    Par défaut Java IReport erreur.
    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 :

    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();
            }
        }
    génère les erreurs:

    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.

  2. #2
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Salut,

    Une Exception java.lang.NoClassDefFoundError correspond typiquement à une absence de jar dans le classpath du projet. Vérifie bien que ton classpath référence toutes les librairies requises pour Groovy.

    Voilà, à+
    Gueritarish

  3. #3
    Membre averti
    Inscrit en
    Septembre 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 26
    Par défaut
    Merci pour votre réponse. En fait,justement, je me doute bien que la liste des librairies que j'ai intégrées n'est pas complète (car j'ai utilisé la doc d'une version antérieure à celle que j'utilise) mais je ne sais pas ce qui manque.

  4. #4
    Membre averti
    Inscrit en
    Septembre 2009
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 26
    Par défaut
    Coucou!
    J'ai réussi à résoudre mon problème. En fait, le .jar à ajouter c'est com-jaspersoft-report. Bon, avec çà, j'ai toujours un message

    log4j:WARN No appenders could be found for logger (net.sf.jasperreports.engine.xml.JRXmlDigesterFactory).
    log4j:WARN Please initialize the log4j system properly.


    Mais je ne pense pas que ce soit lié aux librairies parce que j'ai d'abord installé toutes les librairies de ireport (et le message apparaissait déjà) et ensuite j'ai procédé par élimination en louchant sur les noms des .jar et en suivant mon instinct .

    En bref, je pense qu'avec la version 3.6.2, les .jar élémentaires à lier à son projet sont:
    • jasperreports
    • commons-beanutils
    • commons-collections
    • commons-logging
    • itext
    • com-jaspersoft-report


    Bien sur, il ne faut pas oublier le .jar mysql-connector-java

  5. #5
    Invité de passage
    Inscrit en
    Juin 2010
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 1
    Par défaut
    bonjour à tous ,
    caddy , j'ai le meme probleme que toi , mais au fait j'ai pas trouvé la librairie : com-jaspersoft-report est ce que tu peux m'aider SVP

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    279
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 279
    Par défaut
    Bonjour,

    J'ai la meme erreur

    Note : J'ai changé mon rapport et subreport en langage Java

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ireport erreur : java.naming.factory.initial
    Par toure32 dans le forum Jasper
    Réponses: 1
    Dernier message: 02/02/2010, 17h00
  2. Java / Ireport : librairies en 3.6.1
    Par lediz dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 27/11/2009, 10h48
  3. [API Java Logging] erreur lock
    Par ites dans le forum Logging
    Réponses: 3
    Dernier message: 04/09/2009, 16h35
  4. [java mail] erreur connexion serveur smtp host
    Par deb31 dans le forum API standards et tierces
    Réponses: 9
    Dernier message: 20/08/2009, 16h22
  5. creation de l'archive JAVA donne erreurs
    Par chapeau_melon dans le forum WinDev
    Réponses: 3
    Dernier message: 15/05/2008, 11h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo