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

avec Java Discussion :

Ressources dans un jar


Sujet :

avec Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 25
    Points : 12
    Points
    12
    Par défaut Ressources dans un jar
    Bonjour,

    Je cherche à inclure des ressources telles que des fichiers (pdf, txt, jpg...) dans un jar afin d'en faire un exécutable.
    Les ressources se trouvent dans un dossier "files" qui est au même niveau que les classes que j'inclus dans le jar.

    Si je crée le jar dans le dossier du projet et que je le lance, je n'ai pas de problème. Cependant, si je déplace ce jar ailleurs sur mon pc... Impossible de faire tourner le jar, j'ai droit à un magnifique java.io.FileNotFoundException sur les fichiers que je cherche à utiliser.

    J'ai cherché sur le net mais n'ai pas trouvé un site salvateur pour résoudre le problème. Je me tourne donc vers vous...

    Merci d'avance pour les réponses ^^

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,



    Une fois dans le jar, les "fichiers" ne sont plus vraiment des "fichiers"...
    Enfin plus précisément il ne le sont pas pour le système d'exploitation qui ne voit que ton jar !

    Donc tu ne peux pas utiliser File, FileInputStream, FileReader, ou toutes autres éléments qui utilise des fichiers au sens "système".


    Tu dois traiter tes fichiers comme des ressources, et utiliser le classloader pour les charger. Il faut pour cela utiliser la méthode getClass().getRessource()


    a++

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 25
    Points : 12
    Points
    12
    Par défaut
    Bonjour ^^

    Merci beaucoup de la réponse très rapide !
    Effectivement, pour des fichiers, il faut bien utiliser ceci (qui est quelque peu différent de la méthode appelée pour des images) :
    InputStream is = getClass().getResourceAsStream("files/file.pdf");
    print(is,PrintServiceLookup.lookupDefaultPrintService());


    Sais tu si cela marcherait avec des vidéos et des sons également ? (que je ne cherche pas à imprimer évidemment)

  4. #4
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Nemix Voir le message
    Sais tu si cela marcherait avec des vidéos et des sons également ? (que je ne cherche pas à imprimer évidemment)
    Il n'y a aucune raison que cela ne fonctionne pas...

    a++

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 25
    Points : 12
    Points
    12
    Par défaut
    Je viens de tester rapidement et le code est le même que pour les images, à savoir :

    getClass().getResource("chemin_vers_video")

    Merci beaucoup adiGuba

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

Discussions similaires

  1. inclure des ressources dans un jar
    Par vamos dans le forum Général Java
    Réponses: 27
    Dernier message: 28/08/2009, 00h20
  2. ajouter les ressources dans le jar avec maven ?
    Par rimas2009 dans le forum Maven
    Réponses: 0
    Dernier message: 17/07/2009, 15h21
  3. Réponses: 4
    Dernier message: 23/06/2008, 13h41
  4. Ajouter une ressource dans un JAR
    Par FabaCoeur dans le forum Java ME
    Réponses: 2
    Dernier message: 21/02/2008, 13h34
  5. ressource dans le jar de mon appli
    Par laclac dans le forum Langage
    Réponses: 4
    Dernier message: 18/04/2007, 16h36

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