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

Langage Java Discussion :

ressource non trouvé : getSystemResource


Sujet :

Langage Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 110
    Points : 64
    Points
    64
    Par défaut ressource non trouvé : getSystemResource
    Bonjour,


    Je cherche à afficher une image dans une interface swing. L'application est destiné à être diffusée sous forme de jar.
    Je n'arrive pas à récupérer mon image :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
          JLabel imgLabel = new JLabel(new ImageIcon(ClassLoader.getSystemResource("images/uneimage.gif")), JLabel.CENTER);
          //JLabel imgLabel = new JLabel(new ImageIcon("images/uneimage.gif"), JLabel.CENTER);
    Le code en commentaire fonctionne correctement, mais lorsque j'utilise la methode getRessources l'image n'est pas trouvée (retourne une URL=null),ceci sous eclipse !

    Quelqu'un peut-il m'aider ?


    Merci d'avance

  2. #2
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Salut,
    j'ai jamais trouvé comment ajouter un dossier de ressources sous Eclipse, si quelqu'un a une idée...
    En fait ca ne fonctionne pas car tu dois avoir tes fichiers dans ton dossier de sortie, "bin" par défaut sous Eclipse. Tu peux te faire un dossier "ressources" dans ton projet et dedans tu fais des packages "images", "son", etc. Ensuite tu ajoutes le dossier "ressources" dans le build path du projet. En gros il traite tes ressources comme des sources, c'est bidon mais j'ai pas trouvé le moyen de faire autrement (a part copier les ressources à la main dans "bin").

  3. #3
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Citation Envoyé par Djakisback Voir le message
    j'ai jamais trouvé comment ajouter un dossier de ressources sous Eclipse, si quelqu'un a une idée...
    Si c'est d'un répertoire de ressources externe au projet dont tu parles, il faut ajouter un paramètre dans "Paramétrages de la JVM".

    Si par exemple ton fichier est dans un répertoire C:\Ressources\monAppli.

    Tu ajoutes ceci aux paramètres de la JVM :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -DRessources="C:\Ressources\monAppli"
    Ressources est un exemple, tu peux donner n'importe quel nom à ton paramètre. Il faut par contre obligatoirement le préfixer par -D.

    Et ensuite, pour accèder à un fichier XML par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        String path= System.getProperty("Ressources") ;
        String xmlFile = path+"/nomDeTonFichier.xml";
    Sinon, Nexussmb, peux-tu préciser où se situe ton répertoire images ?

  4. #4
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Non en fait je parle juste d'un dossier de ressources interne au projet. Mais dans le build path tu peux ajouter que des dossiers de sources.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 110
    Points : 64
    Points
    64
    Par défaut
    Pour être plus précis :

    Le répertoire "images" est dans la racine de mon projet.
    L'application est destiné à être diffusée sous forme de jar

    En copiant le répertoire "images" dans le répertoire "classes" l'application fonctionne sous eclipse. Mais lorsque je génère le JAR et lance mon application via "java -jar monjar.jar", la ressource n'est pas trouvée.


    monProjet
    |
    +->images
    +->src
    +->classes
    | +-> images


    Djakisback, je n'ai pas réussi à mettre en œuvre ta méthode avec le répertoire "ressources". Peux tu me donner plus de précisions ? Ta méthode devrait-elle fonctionner si je génère un JAR ?

    c_nvy, mon répertoire "images" fait parti du mon projet et est destiné donc à être contenu dans le JAR.


    Merci d'avance.

  6. #6
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    Oui ça fonctionne pour un jar, si tu coches le dossier dans le jar Packager.
    Qu'est-ce que tu n'as pas réussi à faire ?
    1) tu crées un nouveau répertoire dans le projet ex, "res"
    2) tu crées un nouveau package "images"
    3) tu copies les images de ton dossier dedans
    4) dans configure "buid path" dans l'onglet "sources" tu fais "add folder" et t'ajoutes le répertoire "res"

    L'intérêt est qu'il synchronise les dossiers sources et le dossier "classes". Avant je faisais comme toi et je copiais les images dans le dossier de sortie mais lorsque tu fais un rebuild vu qu'il synchronise il supprimait toutes les ressources du dossier de sortie.

  7. #7
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 853
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 853
    Points : 22 870
    Points
    22 870
    Billets dans le blog
    51
    Par défaut
    Es-tu sur que c'est bien getSystemResource() et non pas getResource() que tu veux utiliser ?

    Que ce soit dans l'IDE, dans un JAR ou "a plat", la resolution de getResource() se fait sur le CLASSPATH. Il se trouve juste que souvent le CLASSPATH contient plus de chemins dans l'IDE ce qui fait que la resolution ne marche parfois pas en dehors.

    De meme l'ajout d'un repertoire de resources dans JBuild X/2005/2006, JBuilder2007~Eclipse ou NetBeans se fait simplement en modifiant les repertoires (ou les libs) appartenants au CLASSPATH du projet. Il doit en entre de meme dans l'Eclipse de base. Concernant l'integration au JAR ; je n'ai jamais trop pousse dans JBuilder2007~Eclipse ou NetBeans mais dans JBuild X/2005/2006 l'outils de creation des JAR se base justement sur les repertoires&lib ajoutes au CLASSPATH du projet permettant de les ajouter ou pas a l'archive. JBuild X/2005/2006, egalement on peut se faciliter la vie en creeant une lib, qui pointe en fait sur le repertoire de ressources et ajouter cette lib au projet ; c'est un poil plus flexible (reutilisabilite) que d'ajouter directement le repertoire au CLASSPATH.

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/02/2012, 12h22
  2. Ressource non trouvée lors d'une redirection.
    Par a.pellet dans le forum Play!
    Réponses: 6
    Dernier message: 27/05/2010, 17h20
  3. problème ressource non trouvée
    Par likoudA dans le forum Wildfly/JBoss
    Réponses: 0
    Dernier message: 16/05/2010, 22h52
  4. Erreur ressource non trouvée avec WindowBlinds
    Par jbrg dans le forum Langage
    Réponses: 2
    Dernier message: 25/10/2009, 00h09
  5. Image dans ressource non trouvée depuis une dll
    Par WebPac dans le forum API, COM et SDKs
    Réponses: 1
    Dernier message: 17/08/2007, 15h10

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