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

Entrée/Sortie Java Discussion :

Ressource dans un jar utiliser par un autre projet Java


Sujet :

Entrée/Sortie Java

  1. #1
    Membre régulier Avatar de freelibre
    Profil pro
    Inscrit en
    Février 2005
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 68
    Points : 76
    Points
    76
    Par défaut Ressource dans un jar utiliser par un autre projet Java
    Bonjour à tous,

    J'ai un problème avec les ressources dans un .jar assurez vous j'ai fait le tour du forum avant de poster ma question .

    Quand je fait un code du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     File fileXSD = new File(this.getClass().getResource("fileName");
    après avoir déclaré mon dossier de ressource contenant "fileName.xsd" dans le classpath ça marche bien quand je lance mon projet dans Eclipse.

    Mon problème est que une foi que je crée mon .jar qui sera utilisé par un autre projet, un foi que je met mon jar dans ce projet, j'arrive plus à avoir le bon chemin du fichier ressource car le chemin est doublé du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "C:\Program Files\test file C:\Program Files\test \monJar!fileName.xsd"
    j'arrive pas à retrouver mon fichier.

    Merci de votre aide
    Le Partage est notre Force !

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Dans ton getRessource il est préférable d'utiliser le chemin absolu dans le classpath (genre /package/nomressource).

    Quant à ton jar créé il faut penser à l'ajouter au classpath de ton nouveau projet (cf la notion de build path sous eclipse), sinon il n'aura aucun effet
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  3. #3
    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,


    Un objet File représente un fichier sur le système locale de l'OS, qui ne sait pas accéder directement à des fichiers à l'intérieur d'une archive.

    Tu dois passer par la classe URL...


    a++

  4. #4
    Membre régulier Avatar de freelibre
    Profil pro
    Inscrit en
    Février 2005
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 68
    Points : 76
    Points
    76
    Par défaut Exemple !!!
    Merci mais prouvez vous mz donner un exemple ??

    Quand j'utilise URL dans Eclipse ça marche mais dans le jar j'ai NULL ???

    Mon projet est bien dans le classpath de l'autre projet.

    Merci d'avance
    Le Partage est notre Force !

  5. #5
    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
    Ben :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    URL url = this.getClass().getResource("fileName");
    Après il faut bien sûr que le fichier "fileName" soit dans le même package que la classe courante (this)...


    a++

  6. #6
    Membre régulier Avatar de freelibre
    Profil pro
    Inscrit en
    Février 2005
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 68
    Points : 76
    Points
    76
    Par défaut Attention a l'héritage
    Salut
    mon problème est régler mais il faut vraiment faire attention aux classes qui dérive d'une autre, pour le placement de la ressource dans le bon Package.

    Merci
    Le Partage est notre Force !

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

Discussions similaires

  1. ressource dans le jar de mon appli
    Par laclac dans le forum Langage
    Réponses: 4
    Dernier message: 18/04/2007, 17h36
  2. Réponses: 11
    Dernier message: 26/02/2007, 01h04
  3. Réponses: 3
    Dernier message: 19/12/2006, 02h38
  4. "la webcam est utilisée par une autre application!" ah bon???
    Par cortex024 dans le forum Périphériques
    Réponses: 2
    Dernier message: 04/05/2006, 13h13
  5. Comment lire un fichier DB en cours d'utilisation par 1 autr
    Par jbat dans le forum Bases de données
    Réponses: 4
    Dernier message: 12/03/2004, 12h06

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