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

Documents Java Discussion :

[JasperReport] Mon fichier jrxml est introuvable depuis mon jar


Sujet :

Documents Java

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    etudiant
    Inscrit en
    Mars 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : etudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2014
    Messages : 38
    Points : 33
    Points
    33
    Par défaut [JasperReport] Mon fichier jrxml est introuvable depuis mon jar
    Bonjour,

    J'utilise JasperReports dans mon application Java.
    J'ai un package nommé "prints" dont je stocke tous mes jasper rapports de mon application

    VOila le chemin que j'utilise
    JasperDesign jd = JRXmlLoader.load("/prints/myreport.jrxml");

    Sur ma machine lorsque j'exécute mon programme ça marche très bien

    j'ai installé mon applications sur d'autres machines ça marche aussi sauf une qui me génère cette erreur

    java.io.FileNotFoundException: /prints/myreport.jrxml (Aucun ficher ou dossier de ce type)


    avez vous déjà rencontrer ce genre de problèmes?

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Je suppose que tu diffuses ton dossier /prints/ et son contenu inclus dans le jar. Tu ne peux donc pas accèder au contenu par la méthode qui prend un fichier en argument (ça marche sur ton poste, parce que c'est un fichier, alors que sur le poste où le jar est installé, ce n'est plus un fichier, mais une partie de jar).

    Il faut utiliser la méthode qui prend un inputStream en paramètre, qui s'obtient par résolution de chemin via Class.getResourceAsStream() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    try( InputStream inputStream = getClass().getResourceAsStream("/prints/myreport.jrxml") ) {
    JasperDesign jd = JRXmlLoader.load(inputStream);
     
    }
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    etudiant
    Inscrit en
    Mars 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : etudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2014
    Messages : 38
    Points : 33
    Points
    33
    Par défaut
    c'est exactement
    ce que j'ai fait et j bien le dossier print/myreport.jrxml la ou il j mis mon fichier jar, ça marche très bien sur certaines machines mais sur d'autres ça ne marche pas (par exemple sous ubuntu ça marche pas)

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par sarra02 Voir le message
    c'est exactement
    ce que j'ai fait
    Qu'est-ce que tu as fais, utilisé le code qu'on t'as fournis, fait l'erreur de prendre le mauvais code? Quel est le problème qui persiste après le changement qu'on t'as donné.

    Dans tous les cas, ceci est mauvais

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JRXmlLoader.load("/prints/myreport.jrxml")
    ça charge le fichier myreport.jrxml qui se trouve dans le dossier prints, qui se trouve à la racine du disque courant. Ca ne peut marcher que par chance est sur certaines machines seulement. Je doute que ta ubuntu aie un dossier /prints, les dossiers à la racines sous linux sont en général /dev /usr /bin /sbin /tmp /var /lib /etc /home et parfois /opt

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    etudiant
    Inscrit en
    Mars 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : etudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2014
    Messages : 38
    Points : 33
    Points
    33
    Par défaut
    c'est vrai mon dossier print n'est pas dans la racine il est dans le dossier ou est mon fichier jar. Est ce que ubuntu ne reconnaît pas les chemins absolus, parce que lorsque je l'exécute directement de netbeans il le prend et il m'affiche aucune erreur.

    EN tout les cas je vous remercie bcp pr vos réponses.

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    ben si c'est un chemin absolu, donc il est récupéré depuis la racine et pas depuis le dossier où se trouve le jar. En réalité il est assez difficile de récupérer un fichier par rapport au dossier où se trouve le jar, parce qu'il est difficile de déterminer LE dossier où se trouve le jar. Le plus simple c'est que tu mette de dossier prints dans le jar, pas à coté, et que tu utilise les ressources, comme on t'a indiqué.

  7. #7
    Nouveau membre du Club
    Femme Profil pro
    etudiant
    Inscrit en
    Mars 2014
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : etudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2014
    Messages : 38
    Points : 33
    Points
    33
    Par défaut
    OUi mais ce n'est pas possible de mettre les fichiers de jasper report (.jrxml) dans un fichier jar, ils doivent être dans un dossier a part.

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Dans ce cas, renseigne le chemin absolu vers les fichier jrxml que tu veux charger. Un chemin relatif se posera toujours la question du "relatif à quoi" et ce "quoi" dépend de l'OS, de l'utilisateur, de la manière de lancer ton programme. Bref ce n'est pas vraiment prévisible.

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/11/2014, 23h13
  2. Est-ce que mon fichier .htaccess est correct ?
    Par miguel-60 dans le forum Apache
    Réponses: 6
    Dernier message: 10/03/2009, 20h24
  3. Réponses: 6
    Dernier message: 12/02/2007, 19h24
  4. Je n'arrive pas à acceder à mon fichier c'est La cata
    Par polianita dans le forum Access
    Réponses: 13
    Dernier message: 17/08/2006, 14h44
  5. [XML]Comment tester que mon fichier XML est comme ceci?
    Par Devil666 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 02/06/2005, 13h41

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