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

Format d'échange (XML, JSON...) Java Discussion :

message d'erreur load fichier xml


Sujet :

Format d'échange (XML, JSON...) Java

  1. #1
    Provisoirement toléré
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Points : 76
    Points
    76
    Par défaut message d'erreur load fichier xml
    bonjour
    j'ai ajouté une image dans mon projet et j'ai affiché image facilement sur jlabel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    jLabel1.setIcon(new ImageIcon(test.class.getResource("7.jpg")));
    et j'ai ajouté un fichier xml dans le projet mais je n'arrive pas à charger et compiler le fichier j'ai message d'erreur
    voila le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    File reportFile = new File(test.class.getResource("classic.jrxml").toURI()); ;  
    JasperDesign jasperDesign = JRXmlLoader.load(reportFile);  
    JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
    voila le message d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    "test.java": cannot resolve symbol: method toURI ()in class java.net.URL at line 136, column 81
    j'espere que vous pouvez m'aider

  2. #2
    Membre éclairé Avatar de Lorantus
    Homme Profil pro
    Consultant développeur indépendant / Java/VB/C(++)/ObjectPal
    Inscrit en
    Août 2007
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant développeur indépendant / Java/VB/C(++)/ObjectPal

    Informations forums :
    Inscription : Août 2007
    Messages : 599
    Points : 882
    Points
    882
    Par défaut
    Bonjour,

    class.getResource(String) retourne une classe URL. La methode toURI() n'existe pas dans la classe URL.

    Que veux-tu faire par "toURI()" ?

  3. #3
    Provisoirement toléré
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Points : 76
    Points
    76
    Par défaut
    je ne sais pas comment créer un chemin relatif
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    package test;
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.SQLException;
    import java.util.HashMap;
    import java.util.Map;
    import net.sf.jasperreports.view.JasperViewer;
     
    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 test {
     
        public static void main(String[] args) {
     
            // - Paramètres de connexion à la base de données
            String url = "jdbc:mysql://localhost/test";
            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\\B062A8AB\\Bureau\\classic.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\\B062A8AB\\Bureau\\classic.pdf");
                JasperViewer.viewReport(jasperPrint,false);
            } catch (JRException e) {
     
                e.printStackTrace();
            } catch (SQLException e) {
     
                e.printStackTrace();
            } finally {
     
            }
     
        }
    }

    le problème avec cette ligne je ne sais pas comment rendre le chemin relatif
    j'ai ajouté le fichier dans le meme repertoire de classe test

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    // - Chargement et compilation du rapport
                JasperDesign jasperDesign = JRXmlLoader.load("C:\\Documents and Settings\\B062A8AB\\Bureau\\classic.jrxml");

  4. #4
    Provisoirement toléré
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Points : 76
    Points
    76
    Par défaut
    s'il vous plait essayez de m'aider

    j'ai ajouté le fichier classic.jrxml dans le meme repertoire de ta classe test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
       // - Chargement et compilation du rapport
                 JasperDesign jasperDesign = JRXmlLoader.load("./classic.jrxml");
     
    JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
    et ça fonctionne pas j'ai des 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
     
    voila les erreurs 
     
    net.sf.jasperreports.engine.JRException: java.io.FileNotFoundException: .\classic.jrxml (Le fichier spécifié est introuvable)
     at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:172)
     at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:152)
     at mahboul.test.actionPerformed(test.java:141)
     at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
     at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
     at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
     at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
     at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)
     at java.awt.Component.processMouseEvent(Component.java:5100)
     at java.awt.Component.processEvent(Component.java:4897)
     at java.awt.Container.processEvent(Container.java:1569)
     at java.awt.Component.dispatchEventImpl(Component.java:3615)
     at java.awt.Container.dispatchEventImpl(Container.java:1627)
     at java.awt.Component.dispatchEvent(Component.java:3477)
     at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
     at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
     at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
     at java.awt.Container.dispatchEventImpl(Container.java:1613)
     at java.awt.Window.dispatchEventImpl(Window.java:1606)
     at java.awt.Component.dispatchEvent(Component.java:3477)
     at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
     at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
     at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
     at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
     at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
     at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
    Caused by: java.io.FileNotFoundException: .\classic.jrxml (Le fichier spécifié est introuvable)
     at java.io.FileInputStream.open(Native Method)
     at java.io.FileInputStream.<init>(FileInputStream.java:106)
     at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:167)
     ... 25 more

  5. #5
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Bon ; est-ce que tu peux nous faire la chose suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    File jrxml = new File("C:\\Documents and Settings\\B062A8AB\\Bureau\\classic.jrxml");
    System.out.println("existe ? "+jrxml.exists());
    Qu'est ce que cela affiche ?

  6. #6
    Provisoirement toléré
    Inscrit en
    Avril 2007
    Messages
    679
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 679
    Points : 76
    Points
    76
    Par défaut
    Citation Envoyé par gifffftane Voir le message
    Bon ; est-ce que tu peux nous faire la chose suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    File jrxml = new File("C:\\Documents and Settings\\B062A8AB\\Bureau\\classic.jrxml");
    System.out.println("existe ? "+jrxml.exists());
    Qu'est ce que cela affiche ?

    ça donne existe ? true

  7. #7
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Donc le problème vient de JRXmlLoader.load, puisque l'on est sûr que le fichier existe bien, tel que tu l'as stipulé.

    Comme je ne connais pas ce JRXmlLoader je ne peux pas t'aider. Il faut que tu regardes la doc, vérifies que tu l'as bien compris, ou que tu te rapproches de gens qui connaissent.

    Bon courage.

  8. #8
    Membre éclairé Avatar de Lorantus
    Homme Profil pro
    Consultant développeur indépendant / Java/VB/C(++)/ObjectPal
    Inscrit en
    Août 2007
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant développeur indépendant / Java/VB/C(++)/ObjectPal

    Informations forums :
    Inscription : Août 2007
    Messages : 599
    Points : 882
    Points
    882
    Par défaut
    si tu parles de ceci public static JasperDesign load(java.io.InputStream is) throws JRException alors il faut simplement que tu codes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    InputStream is = test.class.getResource("classic.jrxml");  
    JasperDesign jasperDesign = JRXmlLoader.load(is);
    le "classic.jrxml" sera alors dans le .jar du projet.

    Keep the loop !

Discussions similaires

  1. Réponses: 6
    Dernier message: 17/05/2010, 12h50
  2. Message d'erreur struts-config.xml
    Par Hanoni dans le forum Struts 1
    Réponses: 3
    Dernier message: 27/07/2009, 14h26
  3. Réponses: 4
    Dernier message: 19/06/2009, 11h26
  4. [DOM] Erreur parser fichier xml avec caractère spéciaux
    Par turcotm dans le forum Format d'échange (XML, JSON...)
    Réponses: 4
    Dernier message: 19/06/2006, 10h01
  5. message d'erreur : "le fichier verrou est trop importan
    Par lol_adele dans le forum Bases de données
    Réponses: 4
    Dernier message: 10/06/2004, 08h58

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